diff --git a/direct/CMakeLists.txt b/direct/CMakeLists.txt index dc68056ab3..284ed72f7f 100644 --- a/direct/CMakeLists.txt +++ b/direct/CMakeLists.txt @@ -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) diff --git a/direct/src/dcparse/CMakeLists.txt b/direct/src/dcparse/CMakeLists.txt new file mode 100644 index 0000000000..a50ebdb3b1 --- /dev/null +++ b/direct/src/dcparse/CMakeLists.txt @@ -0,0 +1,3 @@ +add_executable(dcparse dcparse.cxx) +set_target_properties(dcparse PROPERTIES COMPILE_DEFINITIONS WITHIN_PANDA) +target_link_libraries(dcparse p3dcparser) diff --git a/direct/src/dcparser/CMakeLists.txt b/direct/src/dcparser/CMakeLists.txt new file mode 100644 index 0000000000..1838865b81 --- /dev/null +++ b/direct/src/dcparser/CMakeLists.txt @@ -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}) diff --git a/direct/src/deadrec/CMakeLists.txt b/direct/src/deadrec/CMakeLists.txt new file mode 100644 index 0000000000..043fc62cd6 --- /dev/null +++ b/direct/src/deadrec/CMakeLists.txt @@ -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) diff --git a/direct/src/directbase/CMakeLists.txt b/direct/src/directbase/CMakeLists.txt new file mode 100644 index 0000000000..1be8a56434 --- /dev/null +++ b/direct/src/directbase/CMakeLists.txt @@ -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) diff --git a/direct/src/distributed/CMakeLists.txt b/direct/src/distributed/CMakeLists.txt new file mode 100644 index 0000000000..681004e608 --- /dev/null +++ b/direct/src/distributed/CMakeLists.txt @@ -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()