Intermediate static libs have issues.
Switch back to including the bundled expat sources directly in the targets, since transitive linking of static libs is very awkward. Makes static build happy again (let's see what else breaks)
This commit is contained in:
parent
a922aaa68e
commit
38fb9ea41e
19
3rdparty/expat/CMakeLists.txt
vendored
19
3rdparty/expat/CMakeLists.txt
vendored
@ -1,11 +1,9 @@
|
||||
|
||||
|
||||
configure_file (
|
||||
"${PROJECT_SOURCE_DIR}/3rdparty/expat/expat_config_cmake.in"
|
||||
"${PROJECT_BINARY_DIR}/3rdparty/expat/expat_config.h"
|
||||
)
|
||||
|
||||
|
||||
set(expat_sources
|
||||
asciitab.h
|
||||
hashtable.h
|
||||
@ -28,15 +26,8 @@ set(expat_sources
|
||||
sg_expat_external.h
|
||||
)
|
||||
|
||||
|
||||
# this code will be linked into SimGearCore shared object, so it
|
||||
# must be compiled with -fPIC too
|
||||
|
||||
|
||||
if(SIMGEAR_SHARED AND UNIX)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
|
||||
endif()
|
||||
|
||||
add_library(local_expat STATIC ${expat_sources})
|
||||
|
||||
foreach(s ${expat_sources})
|
||||
set_property(GLOBAL
|
||||
APPEND PROPERTY LOCAL_EXPAT_SOURCES
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/${s}")
|
||||
endforeach()
|
||||
|
@ -234,7 +234,6 @@ else()
|
||||
set(EXPAT_INCLUDE_DIRS
|
||||
${PROJECT_SOURCE_DIR}/3rdparty/expat
|
||||
${PROJECT_BINARY_DIR}/3rdparty/expat)
|
||||
set(EXPAT_LIBRARIES local_expat)
|
||||
endif(SYSTEM_EXPAT)
|
||||
|
||||
include_directories(${EXPAT_INCLUDE_DIRS})
|
||||
|
@ -45,6 +45,7 @@ install (FILES ${HEADERS} DESTINATION include/simgear/)
|
||||
get_property(coreSources GLOBAL PROPERTY CORE_SOURCES)
|
||||
get_property(sceneSources GLOBAL PROPERTY SCENE_SOURCES)
|
||||
get_property(publicHeaders GLOBAL PROPERTY PUBLIC_HEADERS)
|
||||
get_property(localExpatSources GLOBAL PROPERTY LOCAL_EXPAT_SOURCES)
|
||||
|
||||
if(LIBSVN_FOUND)
|
||||
add_definitions(${APR_CFLAGS})
|
||||
@ -53,7 +54,7 @@ endif()
|
||||
|
||||
if(SIMGEAR_SHARED)
|
||||
message(STATUS "Library building mode: SHARED LIBRARIES")
|
||||
add_library(SimGearCore SHARED ${coreSources})
|
||||
add_library(SimGearCore SHARED ${coreSources} ${localExpatSources})
|
||||
|
||||
# set_property(TARGET SimGearCore PROPERTY FRAMEWORK 1)
|
||||
# message(STATUS "public header: ${publicHeaders}")
|
||||
@ -114,7 +115,7 @@ else()
|
||||
source_group("${name}\\Headers" FILES ${g2})
|
||||
endforeach()
|
||||
|
||||
add_library(SimGearCore STATIC ${coreSources})
|
||||
add_library(SimGearCore STATIC ${coreSources} ${localExpatSources})
|
||||
install(TARGETS SimGearCore ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||
|
||||
if(NOT SIMGEAR_HEADLESS)
|
||||
|
Loading…
Reference in New Issue
Block a user