@@ -33,39 +33,31 @@ set(HEADERS FGFDMExec.h
3333set (SOURCES FGFDMExec.cpp
3434 FGJSBBase.cpp)
3535
36- add_library (libJSBSim ${SOURCES}
37- $<TARGET_OBJECTS :Init >
38- $<TARGET_OBJECTS :Atmosphere >
39- $<TARGET_OBJECTS :FlightControl >
40- $<TARGET_OBJECTS :Propulsion >
41- $<TARGET_OBJECTS :Models >
42- $<TARGET_OBJECTS :Math >
43- $<TARGET_OBJECTS :InputOutput >
44- $<TARGET_OBJECTS :Properties >
45- $<TARGET_OBJECTS :Xml >
46- $<TARGET_OBJECTS :Magvar >
47- $<TARGET_OBJECTS :Misc >
48- $<TARGET_OBJECTS :IOStreams >
49- $<TARGET_OBJECTS :GeographicLib >
50- )
36+ set (OBJECT_LIBS Atmosphere
37+ FlightControl
38+ GeographicLib
39+ Init
40+ InputOutput
41+ IOStreams
42+ Magvar
43+ Math
44+ Misc
45+ Models
46+ Properties
47+ Propulsion
48+ Xml)
49+
50+ add_library (libJSBSim ${SOURCES} )
51+ target_link_libraries (libJSBSim PRIVATE ${OBJECT_LIBS} )
5152
5253target_compile_definitions (libJSBSim PUBLIC
5354 JSBSIM_VERSION= "${PROJECT_VERSION}${VERSION_MESSAGE} " )
5455target_include_directories (libJSBSim PUBLIC
5556 $<BUILD_INTERFACE :${CMAKE_CURRENT_SOURCE_DIR} >)
5657
57- if (EXPAT_FOUND)
58- target_include_directories (libJSBSim PRIVATE ${EXPAT_INCLUDE_DIRS} )
59- if (PKG_CONFIG_FOUND)
60- target_link_libraries (libJSBSim ${PC_EXPAT_LIBRARIES} )
61- else ()
62- target_link_libraries (libJSBSim ${EXPAT_LIBRARIES} )
63- endif ()
64- endif (EXPAT_FOUND )
65-
6658if (WIN32 )
6759 target_compile_definitions (libJSBSim PUBLIC _USE_MATH_DEFINES )
68- target_link_libraries (libJSBSim wsock32 ws2_32 )
60+ target_link_libraries (libJSBSim PUBLIC wsock32 ws2_32 )
6961
7062 if (BUILD_SHARED_LIBS )
7163 set (JSBSIM_LIBRARY_TYPE JSBSIM_EXPORT)
@@ -78,14 +70,11 @@ if(WIN32)
7870 target_compile_definitions (libJSBSim PUBLIC JSBSIM_STATIC_LINK )
7971 endif (BUILD_SHARED_LIBS )
8072
81- get_target_property (libJSBSim_SOURCE_FILES libJSBSim SOURCES )
82- foreach (OBJECT ${libJSBSim_SOURCE_FILES} )
83- if (${OBJECT} MATCHES "TARGET_OBJECTS:([^ >]+)" )
84- target_compile_definitions (${CMAKE_MATCH_1} PRIVATE ${JSBSIM_LIBRARY_TYPE} )
85- endif ()
73+ foreach (OBJECT ${OBJECT_LIBS} )
74+ target_compile_definitions (${OBJECT} PRIVATE ${JSBSIM_LIBRARY_TYPE} )
8675 endforeach (OBJECT )
8776elseif (UNIX )
88- target_link_libraries (libJSBSim m )
77+ target_link_libraries (libJSBSim PUBLIC m )
8978endif (WIN32 )
9079
9180set_target_properties (libJSBSim PROPERTIES
0 commit comments