mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-03 10:22:45 -04:00
CMake: Change linkages to go through metalibs
This changes the target_link_libraries() declarations so they only go directly to a component library if it's in the same metalib. If it's outside of the metalib, the correct thing to do is link against the metalib. CMake takes care of the transitive linking for us, so there isn't actually any big change here.
This commit is contained in:
parent
c0b8b3c542
commit
d642ca4fa0
@ -49,7 +49,7 @@ composite_sources(p3dcparser P3DCPARSER_SOURCES)
|
||||
add_library(p3dcparser ${P3DCPARSER_HEADERS} ${P3DCPARSER_SOURCES}
|
||||
${P3DCPARSER_PARSER_SOURCES})
|
||||
set_target_properties(p3dcparser PROPERTIES COMPILE_DEFINITIONS WITHIN_PANDA)
|
||||
target_link_libraries(p3dcparser p3directbase p3express p3pstatclient p3prc)
|
||||
target_link_libraries(p3dcparser p3directbase panda)
|
||||
target_use_packages(p3dcparser PYTHON)
|
||||
target_interrogate(p3dcparser ${P3DCPARSER_HEADERS} ${P3DCPARSER_SOURCES})
|
||||
|
||||
|
@ -8,7 +8,7 @@ set(P3DEADREC_SOURCES
|
||||
|
||||
add_library(p3deadrec ${P3DEADREC_HEADERS} ${P3DEADREC_SOURCES})
|
||||
set_target_properties(p3deadrec PROPERTIES DEFINE_SYMBOL BUILDING_DIRECT_DEADREC)
|
||||
target_link_libraries(p3deadrec p3directbase p3linmath p3pgraph p3prc)
|
||||
target_link_libraries(p3deadrec p3directbase panda)
|
||||
target_interrogate(p3deadrec ALL)
|
||||
|
||||
install(TARGETS p3deadrec DESTINATION lib)
|
||||
|
@ -14,14 +14,8 @@ if(HAVE_PYTHON)
|
||||
add_library(p3distributed ${P3DISTRIBUTED_HEADERS} ${P3DISTRIBUTED_SOURCES})
|
||||
set_target_properties(p3distributed PROPERTIES DEFINE_SYMBOL BUILDING_DIRECT_DISTRIBUTED)
|
||||
set_target_properties(p3distributed PROPERTIES COMPILE_DEFINITIONS WITHIN_PANDA)
|
||||
target_link_libraries(p3distributed p3directbase p3dcparser p3pgraph)
|
||||
target_link_libraries(p3distributed p3directbase p3dcparser panda)
|
||||
target_use_packages(p3distributed PYTHON)
|
||||
if(WANT_NATIVE_NET)
|
||||
target_link_libraries(p3distributed p3nativenet)
|
||||
endif()
|
||||
if(HAVE_NET)
|
||||
target_link_libraries(p3distributed p3net)
|
||||
endif()
|
||||
target_interrogate(p3distributed ALL)
|
||||
|
||||
install(TARGETS p3distributed DESTINATION lib)
|
||||
|
@ -38,7 +38,7 @@ set(P3INTERVAL_SOURCES
|
||||
composite_sources(p3interval P3INTERVAL_SOURCES)
|
||||
add_library(p3interval ${P3INTERVAL_HEADERS} ${P3INTERVAL_SOURCES})
|
||||
set_target_properties(p3interval PROPERTIES DEFINE_SYMBOL BUILDING_DIRECT_INTERVAL)
|
||||
target_link_libraries(p3interval p3directbase p3pstatclient p3pgraph p3chan p3dconfig p3prc)
|
||||
target_link_libraries(p3interval p3directbase panda)
|
||||
target_interrogate(p3interval ALL)
|
||||
|
||||
install(TARGETS p3interval DESTINATION lib)
|
||||
|
@ -1,6 +1,6 @@
|
||||
add_library(p3showbase showBase.cxx showBase.h)
|
||||
set_target_properties(p3showbase PROPERTIES DEFINE_SYMBOL BUILDING_DIRECT_SHOWBASE)
|
||||
target_link_libraries(p3showbase p3directbase p3express p3event p3chan p3display p3dconfig p3prc)
|
||||
target_link_libraries(p3showbase p3directbase panda)
|
||||
target_interrogate(p3showbase ALL)
|
||||
|
||||
install(TARGETS p3showbase DESTINATION lib)
|
||||
|
@ -96,10 +96,10 @@ if(HAVE_PYTHON)
|
||||
add_python_module(core ${CORE_MODULE_COMPONENTS} LINK panda)
|
||||
|
||||
if(HAVE_EGG)
|
||||
add_python_module(egg p3egg p3egg2pg IMPORT panda3d.core)
|
||||
add_python_module(egg p3egg p3egg2pg LINK pandaegg IMPORT panda3d.core)
|
||||
endif()
|
||||
|
||||
add_python_module(physics p3physics p3particlesystem IMPORT panda3d.core)
|
||||
add_python_module(physics p3physics p3particlesystem LINK pandaphysics IMPORT panda3d.core)
|
||||
|
||||
if(HAVE_ODE)
|
||||
add_python_module(ode p3ode IMPORT panda3d.core)
|
||||
|
@ -1,8 +1,9 @@
|
||||
if(HAVE_EGG)
|
||||
set(PANDAEGG_LINK_TARGETS p3egg p3egg2pg panda)
|
||||
set(PANDAEGG_LINK_TARGETS p3egg p3egg2pg)
|
||||
|
||||
add_library(pandaegg pandaegg.cxx)
|
||||
target_link_libraries(pandaegg ${PANDAEGG_LINK_TARGETS})
|
||||
target_link_libraries(pandaegg panda)
|
||||
|
||||
install(TARGETS pandaegg DESTINATION lib)
|
||||
endif()
|
||||
|
@ -7,7 +7,6 @@ if(HAVE_GL)
|
||||
HAVE_WGL, HAVE_COCOA, HAVE_CARBON, or HAVE_GLX must be defined.")
|
||||
endif()
|
||||
|
||||
add_definitions(-DBUILDING_PANDAGL)
|
||||
set(PANDAGL_LINK_TARGETS p3glgsg)
|
||||
|
||||
if(HAVE_GLX)
|
||||
@ -27,6 +26,7 @@ if(HAVE_GL)
|
||||
|
||||
add_library(pandagl pandagl.cxx)
|
||||
target_link_libraries(pandagl ${PANDAGL_LINK_TARGETS})
|
||||
set_target_properties(pandagl PROPERTIES DEFINE_SYMBOL BUILDING_PANDAGL)
|
||||
|
||||
install(TARGETS pandagl DESTINATION lib)
|
||||
endif()
|
||||
|
@ -19,7 +19,7 @@ if(HAVE_AUDIO)
|
||||
include_directories(${MILES_INCLUDE_DIR})
|
||||
add_library(p3miles_audio ${P3MILES_HEADERS} ${P3MILES_SOURCES})
|
||||
set_target_properties(p3miles_audio PROPERTIES DEFINE_SYMBOL BUILDING_MILES_AUDIO)
|
||||
target_link_libraries(p3miles_audio p3audio p3event p3pipeline)
|
||||
target_link_libraries(p3miles_audio panda)
|
||||
target_use_packages(p3miles_audio MILES)
|
||||
|
||||
install(TARGETS p3miles_audio DESTINATION lib)
|
||||
@ -38,7 +38,7 @@ if(HAVE_AUDIO)
|
||||
include_directories(${FMODEX_INCLUDE_DIR})
|
||||
add_library(p3fmod_audio ${P3FMOD_HEADERS} ${P3FMOD_SOURCES})
|
||||
set_target_properties(p3fmod_audio PROPERTIES DEFINE_SYMBOL BUILDING_FMOD_AUDIO)
|
||||
target_link_libraries(p3fmod_audio p3audio p3event)
|
||||
target_link_libraries(p3fmod_audio panda)
|
||||
target_use_packages(p3fmod_audio FMODEX)
|
||||
|
||||
install(TARGETS p3fmod_audio DESTINATION lib)
|
||||
@ -58,7 +58,7 @@ if(HAVE_AUDIO)
|
||||
include_directories(${OPENAL_INCLUDE_DIR})
|
||||
add_library(p3openal_audio ${P3OPENAL_HEADERS} ${P3OPENAL_SOURCES})
|
||||
set_target_properties(p3openal_audio PROPERTIES DEFINE_SYMBOL BUILDING_OPENAL_AUDIO)
|
||||
target_link_libraries(p3openal_audio p3audio p3event)
|
||||
target_link_libraries(p3openal_audio panda)
|
||||
target_use_packages(p3openal_audio OPENAL)
|
||||
|
||||
install(TARGETS p3openal_audio DESTINATION lib)
|
||||
|
@ -1,16 +1,16 @@
|
||||
if(HAVE_OPENSSL)
|
||||
add_executable(apply_patch apply_patch.cxx)
|
||||
target_link_libraries(apply_patch p3downloader p3express p3pystub)
|
||||
target_link_libraries(apply_patch panda)
|
||||
add_executable(build_patch build_patch.cxx)
|
||||
target_link_libraries(build_patch p3downloader p3express p3pystub)
|
||||
target_link_libraries(build_patch panda)
|
||||
add_executable(show_ddb show_ddb.cxx)
|
||||
target_link_libraries(show_ddb p3downloader p3express p3pystub)
|
||||
target_link_libraries(show_ddb panda)
|
||||
add_executable(check_md5 check_md5.cxx)
|
||||
target_link_libraries(check_md5 p3downloader p3express p3pystub)
|
||||
target_link_libraries(check_md5 panda)
|
||||
add_executable(pencrypt pencrypt.cxx)
|
||||
target_link_libraries(pencrypt p3downloader p3express p3pystub)
|
||||
target_link_libraries(pencrypt panda)
|
||||
add_executable(pdecrypt pdecrypt.cxx)
|
||||
target_link_libraries(pdecrypt p3downloader p3express p3pystub)
|
||||
target_link_libraries(pdecrypt panda)
|
||||
|
||||
install(TARGETS apply_patch build_patch show_ddb check_md5 pencrypt pdecrypt
|
||||
DESTINATION bin)
|
||||
@ -18,18 +18,18 @@ endif()
|
||||
|
||||
if(HAVE_ZLIB)
|
||||
add_executable(check_adler check_adler.cxx)
|
||||
target_link_libraries(check_adler p3downloader p3express p3pystub)
|
||||
target_link_libraries(check_adler panda)
|
||||
add_executable(check_crc check_crc.cxx)
|
||||
target_link_libraries(check_crc p3downloader p3express p3pystub)
|
||||
target_link_libraries(check_crc panda)
|
||||
add_executable(pzip pzip.cxx)
|
||||
target_link_libraries(pzip p3downloader p3express p3pystub)
|
||||
target_link_libraries(pzip panda)
|
||||
add_executable(punzip punzip.cxx)
|
||||
target_link_libraries(punzip p3downloader p3express p3pystub)
|
||||
target_link_libraries(punzip panda)
|
||||
|
||||
install(TARGETS check_adler check_crc pzip punzip
|
||||
DESTINATION bin)
|
||||
endif()
|
||||
|
||||
add_executable(multify multify.cxx)
|
||||
target_link_libraries(multify p3downloader p3express p3pystub)
|
||||
target_link_libraries(multify panda)
|
||||
install(TARGETS multify DESTINATION bin)
|
||||
|
@ -101,7 +101,7 @@ if(HAVE_EGG)
|
||||
composite_sources(p3egg P3EGG_SOURCES)
|
||||
add_library(p3egg ${P3EGG_HEADERS} ${P3EGG_SOURCES} ${P3EGG_PARSER_SOURCES})
|
||||
set_target_properties(p3egg PROPERTIES DEFINE_SYMBOL BUILDING_PANDAEGG)
|
||||
target_link_libraries(p3egg p3prc p3pandabase p3express p3linmath p3mathutil)
|
||||
target_link_libraries(p3egg panda)
|
||||
target_interrogate(p3egg ${P3EGG_HEADERS} ${P3EGG_SOURCES} EXTENSIONS ${P3EGG_IGATEEXT})
|
||||
|
||||
install(TARGETS p3egg DESTINATION lib)
|
||||
|
@ -32,7 +32,7 @@ if(HAVE_EGG)
|
||||
composite_sources(p3egg2pg P3EGG2PG_SOURCES)
|
||||
add_library(p3egg2pg ${P3EGG2PG_HEADERS} ${P3EGG2PG_SOURCES})
|
||||
set_target_properties(p3egg2pg PROPERTIES DEFINE_SYMBOL BUILDING_PANDAEGG)
|
||||
target_link_libraries(p3egg2pg p3parametrics p3collide p3egg p3pgraph p3chan p3char)
|
||||
target_link_libraries(p3egg2pg panda p3egg)
|
||||
target_interrogate(p3egg2pg ALL)
|
||||
|
||||
install(TARGETS p3egg2pg DESTINATION lib)
|
||||
|
@ -20,7 +20,7 @@ if(HAVE_FFMPEG)
|
||||
composite_sources(p3ffmpeg P3FFMPEG_SOURCES)
|
||||
add_library(p3ffmpeg ${P3FFMPEG_HEADERS} ${P3FFMPEG_SOURCES})
|
||||
set_target_properties(p3ffmpeg PROPERTIES DEFINE_SYMBOL BUILDING_FFMPEG)
|
||||
target_link_libraries(p3ffmpeg p3movies)
|
||||
target_link_libraries(p3ffmpeg panda)
|
||||
target_use_packages(p3ffmpeg FFMPEG SWSCALE SWRESAMPLE)
|
||||
|
||||
install(TARGETS p3ffmpeg DESTINATION lib)
|
||||
|
@ -11,7 +11,7 @@ set(P3FRAMEWORK_SOURCES
|
||||
)
|
||||
|
||||
|
||||
set(P3FRAMEWORK_LINK_TARGETS p3char p3pgui p3recorder p3collide p3pnmimagetypes)
|
||||
set(P3FRAMEWORK_LINK_TARGETS panda)
|
||||
if(NOT BUILD_SHARED_LIBS)
|
||||
# If we're statically linking, we need to explicitly link with
|
||||
# at least one of the available renderers.
|
||||
|
@ -11,7 +11,7 @@ if(HAVE_GL)
|
||||
composite_sources(p3glgsg P3GLGSG_SOURCES)
|
||||
add_library(p3glgsg ${P3GLGSG_HEADERS} ${P3GLGSG_SOURCES})
|
||||
set_target_properties(p3glgsg PROPERTIES DEFINE_SYMBOL BUILDING_PANDAGL)
|
||||
target_link_libraries(p3glgsg p3glstuff p3display
|
||||
target_link_libraries(p3glgsg p3glstuff panda
|
||||
${OPENGL_LIBRARIES})
|
||||
target_use_packages(p3glgsg CG)
|
||||
|
||||
|
@ -84,7 +84,8 @@ if(HAVE_ODE)
|
||||
add_library(p3ode ${P3ODE_SOURCES} ${P3ODE_HEADERS})
|
||||
set_target_properties(p3ode PROPERTIES DEFINE_SYMBOL BUILDING_PANDAODE)
|
||||
set_target_properties(p3ode PROPERTIES COMPILE_DEFINITIONS dSINGLE)
|
||||
target_link_libraries(p3ode p3pgraph p3physics ${ODE_LIBRARY})
|
||||
target_link_libraries(p3ode panda)
|
||||
target_use_packages(p3ode ODE)
|
||||
target_interrogate(p3ode ${P3ODE_IGATE_SOURCES} EXTENSIONS ${P3ODE_IGATEEXT})
|
||||
|
||||
install(TARGETS p3ode DESTINATION lib)
|
||||
|
@ -40,7 +40,7 @@ set(P3PARTICLESYSTEM_SOURCES
|
||||
composite_sources(p3particlesystem P3PARTICLESYSTEM_SOURCES)
|
||||
add_library(p3particlesystem ${P3PARTICLESYSTEM_HEADERS} ${P3PARTICLESYSTEM_SOURCES})
|
||||
set_target_properties(p3particlesystem PROPERTIES DEFINE_SYMBOL BUILDING_PANDAPHYSICS)
|
||||
target_link_libraries(p3particlesystem p3pgraph p3physics)
|
||||
target_link_libraries(p3particlesystem p3physics panda)
|
||||
target_interrogate(p3particlesystem ALL)
|
||||
|
||||
install(TARGETS p3particlesystem DESTINATION lib)
|
||||
|
@ -38,7 +38,7 @@ set(P3PHYSICS_SOURCES
|
||||
composite_sources(p3physics P3PHYSICS_SOURCES)
|
||||
add_library(p3physics ${P3PHYSICS_HEADERS} ${P3PHYSICS_SOURCES})
|
||||
set_target_properties(p3physics PROPERTIES DEFINE_SYMBOL BUILDING_PANDAPHYSICS)
|
||||
target_link_libraries(p3physics p3pgraph p3linmath p3collide)
|
||||
target_link_libraries(p3physics panda)
|
||||
target_interrogate(p3physics ALL)
|
||||
|
||||
install(TARGETS p3physics DESTINATION lib)
|
||||
|
@ -11,7 +11,7 @@ if(HAVE_X11)
|
||||
composite_sources(p3x11display P3X11DISPLAY_SOURCES)
|
||||
add_library(p3x11display ${P3X11DISPLAY_HEADERS} ${P3X11DISPLAY_SOURCES})
|
||||
set_target_properties(p3x11display PROPERTIES DEFINE_SYMBOL BUILDING_PANDAX11)
|
||||
target_link_libraries(p3x11display p3display ${X11_LIBRARIES})
|
||||
target_link_libraries(p3x11display panda ${X11_LIBRARIES})
|
||||
|
||||
install(TARGETS p3x11display DESTINATION lib)
|
||||
endif()
|
||||
|
@ -1,15 +1,15 @@
|
||||
add_executable(bam-info bamInfo.cxx bamInfo.h)
|
||||
target_link_libraries(bam-info p3progbase p3pgraphnodes p3recorder)
|
||||
target_link_libraries(bam-info p3progbase panda)
|
||||
install(TARGETS bam-info DESTINATION bin)
|
||||
|
||||
add_executable(egg2bam eggToBam.cxx eggToBam.h)
|
||||
target_link_libraries(egg2bam p3eggbase p3progbase)
|
||||
target_link_libraries(egg2bam p3eggbase p3progbase panda)
|
||||
install(TARGETS egg2bam DESTINATION bin)
|
||||
|
||||
add_executable(bam2egg bamToEgg.cxx bamToEgg.h)
|
||||
target_link_libraries(bam2egg p3converter p3eggbase p3progbase)
|
||||
target_link_libraries(bam2egg p3converter p3eggbase p3progbase panda)
|
||||
install(TARGETS bam2egg DESTINATION bin)
|
||||
|
||||
add_executable(pts2bam ptsToBam.cxx ptsToBam.h)
|
||||
target_link_libraries(pts2bam p3progbase p3pgraph p3pgraphnodes p3egg2pg)
|
||||
target_link_libraries(pts2bam p3progbase pandaegg panda)
|
||||
install(TARGETS pts2bam DESTINATION bin)
|
||||
|
@ -6,4 +6,4 @@ set(P3CONVERTER_SOURCES
|
||||
somethingToEggConverter.cxx eggToSomethingConverter.cxx)
|
||||
|
||||
add_library(p3converter STATIC ${P3CONVERTER_HEADERS} ${P3CONVERTER_SOURCES})
|
||||
target_link_libraries(p3converter p3pandatoolbase p3egg2pg p3pystub)
|
||||
target_link_libraries(p3converter p3pandatoolbase pandaegg)
|
||||
|
@ -82,4 +82,4 @@ set(P3FLT_SOURCES
|
||||
|
||||
composite_sources(p3flt P3FLT_SOURCES)
|
||||
add_library(p3flt STATIC ${P3FLT_HEADERS} ${P3FLT_SOURCES})
|
||||
target_link_libraries(p3flt p3pandatoolbase p3mathutil)
|
||||
target_link_libraries(p3flt p3pandatoolbase panda)
|
||||
|
@ -16,7 +16,7 @@ set(P3PANDATOOLBASE_SOURCES
|
||||
|
||||
composite_sources(p3pandatoolbase P3PANDATOOLBASE_SOURCES)
|
||||
add_library(p3pandatoolbase STATIC ${P3PANDATOOLBASE_HEADERS} ${P3PANDATOOLBASE_SOURCES})
|
||||
target_link_libraries(p3pandatoolbase p3pandabase p3putil)
|
||||
target_link_libraries(p3pandatoolbase panda)
|
||||
|
||||
# This is only needed for binaries in the pandatool package. It is not useful
|
||||
# for user applications, so it is not installed.
|
||||
|
@ -10,7 +10,7 @@ set(P3PROGBASE_SOURCES
|
||||
|
||||
composite_sources(p3progbase P3PROGBASE_SOURCES)
|
||||
add_library(p3progbase STATIC ${P3PROGBASE_HEADERS} ${P3PROGBASE_SOURCES})
|
||||
target_link_libraries(p3progbase p3pandatoolbase p3pnmimage)
|
||||
target_link_libraries(p3progbase p3pandatoolbase panda)
|
||||
target_use_packages(p3progbase ZLIB)
|
||||
|
||||
# This is only needed for binaries in the pandatool package. It is not useful
|
||||
|
@ -19,7 +19,7 @@ if(HAVE_NET)
|
||||
|
||||
composite_sources(p3pstatserver P3PSTATSERVER_SOURCES)
|
||||
add_library(p3pstatserver STATIC ${P3PSTATSERVER_HEADERS} ${P3PSTATSERVER_SOURCES})
|
||||
target_link_libraries(p3pstatserver p3pandatoolbase p3pstatclient p3linmath)
|
||||
target_link_libraries(p3pstatserver p3pandatoolbase panda)
|
||||
|
||||
# This is only needed for binaries in the pandatool package. It is not useful
|
||||
# for user applications, so it is not installed.
|
||||
|
Loading…
x
Reference in New Issue
Block a user