CMake: Work on direct; get dcparse, dcparser, deadrec, directbase, distributed to build+Interrogate.

This commit is contained in:
Sam Edwards 2014-02-04 14:58:52 -07:00
parent 470611a473
commit 89797d78d6
6 changed files with 109 additions and 5 deletions

View File

@ -1,14 +1,16 @@
# Include source directories which have C++ components:
add_subdirectory(src/directbase)
add_subdirectory(src/autorestart)
#add_subdirectory(src/dcparser)
#add_subdirectory(src/dcparse)
#add_subdirectory(src/deadrec)
#add_subdirectory(src/directbase)
add_subdirectory(src/dcparser)
add_subdirectory(src/dcparse)
add_subdirectory(src/deadrec)
#add_subdirectory(src/directdServer)
#add_subdirectory(src/directd)
#add_subdirectory(src/distributed)
add_subdirectory(src/distributed)
#add_subdirectory(src/heapq)
#add_subdirectory(src/http)
#add_subdirectory(src/interval)
#add_subdirectory(src/motiontrail)
#add_subdirectory(src/showbase)
add_python_module(direct p3dcparser p3deadrec p3distributed)

View File

@ -0,0 +1,3 @@
add_executable(dcparse dcparse.cxx)
set_target_properties(dcparse PROPERTIES COMPILE_DEFINITIONS WITHIN_PANDA)
target_link_libraries(dcparse p3dcparser)

View File

@ -0,0 +1,53 @@
add_bison_target(dcParser.cxx dcParser.yxx DEFINES dcParser.h PREFIX dcyy)
add_flex_target(dcLexer.cxx dcLexer.lxx CASE_INSENSITIVE PREFIX dcyy)
set(P3DCPARSER_HEADERS
dcAtomicField.h dcAtomicField.I dcClass.h dcClass.I
dcDeclaration.h
dcField.h dcField.I
dcFile.h dcFile.I
dcKeyword.h dcKeywordList.h
dcLexer.lxx
dcLexerDefs.h dcMolecularField.h dcParser.yxx dcParserDefs.h
dcSubatomicType.h
dcPackData.h dcPackData.I
dcPacker.h dcPacker.I
dcPackerCatalog.h dcPackerCatalog.I
dcPackerInterface.h dcPackerInterface.I
dcParameter.h dcClassParameter.h dcArrayParameter.h
dcSimpleParameter.h dcSwitchParameter.h
dcNumericRange.h dcNumericRange.I
dcSwitch.h
dcTypedef.h
dcPython.h
dcbase.h dcindent.h hashGenerator.h
primeNumberGenerator.h)
set(P3DCPARSER_SOURCES
dcAtomicField.cxx dcClass.cxx
dcDeclaration.cxx
dcField.cxx dcFile.cxx
dcKeyword.cxx dcKeywordList.cxx
dcMolecularField.cxx dcSubatomicType.cxx
dcPackData.cxx
dcPacker.cxx
dcPackerCatalog.cxx
dcPackerInterface.cxx
dcParameter.cxx dcClassParameter.cxx dcArrayParameter.cxx
dcSimpleParameter.cxx dcSwitchParameter.cxx
dcSwitch.cxx
dcTypedef.cxx
dcindent.cxx
hashGenerator.cxx primeNumberGenerator.cxx)
# These cannot be interrogated, and are excluded from the composites.
set(P3DCPARSER_PARSER_SOURCES
dcParser.cxx
dcLexer.cxx)
composite_sources(p3dcparser P3DCPARSER_SOURCES)
add_library(p3dcparser ${P3DCPARSER_SOURCES} ${P3DCPARSER_HEADERS}
${P3DCPARSER_PARSER_SOURCES})
set_target_properties(p3dcparser PROPERTIES COMPILE_DEFINITIONS WITHIN_PANDA)
target_link_libraries(p3dcparser p3directbase p3express p3pstatclient p3prc)
target_interrogate(p3dcparser ${P3DCPARSER_SOURCES} ${P3DCPARSER_HEADERS})

View File

@ -0,0 +1,11 @@
set(P3DEADREC_HEADERS
config_deadrec.h
smoothMover.h smoothMover.I)
set(P3DEADREC_SOURCES
config_deadrec.cxx
smoothMover.cxx)
add_library(p3deadrec ${P3DEADREC_HEADERS} ${P3DEADREC_SOURCES})
target_link_libraries(p3deadrec p3directbase p3linmath p3pgraph p3prc)
target_interrogate(p3deadrec ALL)

View File

@ -0,0 +1,11 @@
set(P3DIRECTBASE_SOURCES
directbase.cxx
)
set(P3DIRECTBASE_HEADERS
directbase.h directsymbols.h
)
# Not worth compositing sources, there's really only one.
add_library(p3directbase ${P3DIRECTBASE_SOURCES} ${P3DIRECTBASE_HEADERS})
target_link_libraries(p3directbase p3pandabase)

View File

@ -0,0 +1,24 @@
if(HAVE_PYTHON)
set(P3DISTRIBUTED_HEADERS
config_distributed.h
cConnectionRepository.I
cConnectionRepository.h
cDistributedSmoothNodeBase.I
cDistributedSmoothNodeBase.h)
set(P3DISTRIBUTED_SOURCES
config_distributed.cxx
cConnectionRepository.cxx
cDistributedSmoothNodeBase.cxx)
add_library(p3distributed ${P3DISTRIBUTED_HEADERS} ${P3DISTRIBUTED_SOURCES})
set_target_properties(p3distributed PROPERTIES COMPILE_DEFINITIONS WITHIN_PANDA)
target_link_libraries(p3distributed p3directbase p3dcparser p3pgraph)
if(WANT_NATIVE_NET)
target_link_libraries(p3distributed p3nativenet)
endif()
if(HAVE_NET)
target_link_libraries(p3distributed p3net)
endif()
target_interrogate(p3distributed ALL)
endif()