cmake: do not use intermediate libraries at all (not even OBJECTS)
This commit is contained in:
+25
-29
@@ -106,9 +106,10 @@ if(LITESQL_FOUND)
|
|||||||
"biboudb"
|
"biboudb"
|
||||||
LITESQL_GENERATED_SOURCES)
|
LITESQL_GENERATED_SOURCES)
|
||||||
|
|
||||||
add_library(database OBJECT src/database/database.cpp
|
set(source_database src/database/database.cpp ${LITESQL_GENERATED_SOURCES})
|
||||||
${LITESQL_GENERATED_SOURCES})
|
|
||||||
set(USE_DATABASE TRUE)
|
set(USE_DATABASE TRUE)
|
||||||
|
else()
|
||||||
|
set(source_database)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_subdirectory("louloulibs")
|
add_subdirectory("louloulibs")
|
||||||
@@ -130,51 +131,46 @@ endif()
|
|||||||
#
|
#
|
||||||
file(GLOB source_src_utils
|
file(GLOB source_src_utils
|
||||||
src/utils/*.[hc]pp)
|
src/utils/*.[hc]pp)
|
||||||
add_library(src_utils OBJECT ${source_src_utils})
|
|
||||||
|
|
||||||
#
|
#
|
||||||
## irclib
|
## irclib
|
||||||
#
|
#
|
||||||
file(GLOB source_irc
|
file(GLOB source_irc
|
||||||
src/irc/*.[hc]pp)
|
src/irc/*.[hc]pp)
|
||||||
add_library(irc OBJECT ${source_irc})
|
|
||||||
|
|
||||||
#
|
#
|
||||||
## xmpp
|
## xmpp
|
||||||
#
|
#
|
||||||
file(GLOB source_xmpp
|
file(GLOB source_xmpp
|
||||||
src/xmpp/*.[hc]pp)
|
src/xmpp/*.[hc]pp)
|
||||||
add_library(xmpp OBJECT ${source_xmpp})
|
|
||||||
|
|
||||||
#
|
#
|
||||||
## identd
|
## identd
|
||||||
#
|
#
|
||||||
file(GLOB source_identd
|
file(GLOB source_identd
|
||||||
src/identd/*.[hc]pp)
|
src/identd/*.[hc]pp)
|
||||||
add_library(identd OBJECT ${source_identd})
|
|
||||||
|
|
||||||
#
|
#
|
||||||
## bridge
|
## bridge
|
||||||
#
|
#
|
||||||
file(GLOB source_bridge
|
file(GLOB source_bridge
|
||||||
src/bridge/*.[hc]pp)
|
src/bridge/*.[hc]pp)
|
||||||
add_library(bridge OBJECT ${source_bridge})
|
|
||||||
|
|
||||||
#
|
#
|
||||||
## Main executable
|
## Main executable
|
||||||
#
|
#
|
||||||
add_executable(${PROJECT_NAME} src/main.cpp
|
add_executable(${PROJECT_NAME} src/main.cpp
|
||||||
$<TARGET_OBJECTS:utils>
|
${source_utils}
|
||||||
$<TARGET_OBJECTS:config>
|
${source_config}
|
||||||
$<TARGET_OBJECTS:logger>
|
${source_logger}
|
||||||
$<TARGET_OBJECTS:network>
|
${source_network}
|
||||||
$<TARGET_OBJECTS:xmpplib>
|
${source_xmpplib}
|
||||||
$<TARGET_OBJECTS:xmpp>
|
${source_xmpp}
|
||||||
$<TARGET_OBJECTS:src_utils>
|
${source_src_utils}
|
||||||
$<TARGET_OBJECTS:bridge>
|
${source_bridge}
|
||||||
$<TARGET_OBJECTS:irc>
|
${source_irc}
|
||||||
$<TARGET_OBJECTS:identd>
|
${source_identd}
|
||||||
$<$<BOOL:${USE_DATABASE}>:$<TARGET_OBJECTS:database>>)
|
${source_database})
|
||||||
|
|
||||||
#
|
#
|
||||||
## Tests
|
## Tests
|
||||||
@@ -182,17 +178,17 @@ add_executable(${PROJECT_NAME} src/main.cpp
|
|||||||
file(GLOB source_tests
|
file(GLOB source_tests
|
||||||
tests/*.cpp)
|
tests/*.cpp)
|
||||||
add_executable(test_suite EXCLUDE_FROM_ALL ${source_tests}
|
add_executable(test_suite EXCLUDE_FROM_ALL ${source_tests}
|
||||||
$<TARGET_OBJECTS:utils>
|
${source_utils}
|
||||||
$<TARGET_OBJECTS:config>
|
${source_config}
|
||||||
$<TARGET_OBJECTS:logger>
|
${source_logger}
|
||||||
$<TARGET_OBJECTS:network>
|
${source_network}
|
||||||
$<TARGET_OBJECTS:xmpplib>
|
${source_xmpplib}
|
||||||
$<TARGET_OBJECTS:xmpp>
|
${source_xmpp}
|
||||||
$<TARGET_OBJECTS:src_utils>
|
${source_src_utils}
|
||||||
$<TARGET_OBJECTS:bridge>
|
${source_bridge}
|
||||||
$<TARGET_OBJECTS:irc>
|
${source_irc}
|
||||||
$<TARGET_OBJECTS:identd>
|
${source_identd}
|
||||||
$<$<BOOL:${USE_DATABASE}>:$<TARGET_OBJECTS:database>>)
|
${source_database})
|
||||||
|
|
||||||
target_link_libraries(${PROJECT_NAME}
|
target_link_libraries(${PROJECT_NAME}
|
||||||
${EXPAT_LIBRARIES}
|
${EXPAT_LIBRARIES}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
cmake_minimum_required(VERSION 2.6)
|
cmake_minimum_required(VERSION 3.0)
|
||||||
|
|
||||||
set(${PROJECT_NAME}_VERSION_MAJOR 1)
|
set(${PROJECT_NAME}_VERSION_MAJOR 1)
|
||||||
set(${PROJECT_NAME}_VERSION_MINOR 0)
|
set(${PROJECT_NAME}_VERSION_MINOR 0)
|
||||||
@@ -102,35 +102,35 @@ endif()
|
|||||||
#
|
#
|
||||||
file(GLOB source_utils
|
file(GLOB source_utils
|
||||||
utils/*.[hc]pp)
|
utils/*.[hc]pp)
|
||||||
add_library(utils OBJECT ${source_utils})
|
set(source_utils ${source_utils} PARENT_SCOPE)
|
||||||
|
|
||||||
#
|
#
|
||||||
## config
|
## config
|
||||||
#
|
#
|
||||||
file(GLOB source_config
|
file(GLOB source_config
|
||||||
config/*.[hc]pp)
|
config/*.[hc]pp)
|
||||||
add_library(config OBJECT ${source_config})
|
set(source_config ${source_config} PARENT_SCOPE)
|
||||||
|
|
||||||
#
|
#
|
||||||
## logger
|
## logger
|
||||||
#
|
#
|
||||||
file(GLOB source_logger
|
file(GLOB source_logger
|
||||||
logger/*.[hc]pp)
|
logger/*.[hc]pp)
|
||||||
add_library(logger OBJECT ${source_logger})
|
set(source_logger ${source_logger} PARENT_SCOPE)
|
||||||
|
|
||||||
#
|
#
|
||||||
## network
|
## network
|
||||||
#
|
#
|
||||||
file(GLOB source_network
|
file(GLOB source_network
|
||||||
network/*.[hc]pp)
|
network/*.[hc]pp)
|
||||||
add_library(network OBJECT ${source_network})
|
set(source_network ${source_network} PARENT_SCOPE)
|
||||||
|
|
||||||
#
|
#
|
||||||
## xmpplib
|
## xmpplib
|
||||||
#
|
#
|
||||||
file(GLOB source_xmpplib
|
file(GLOB source_xmpplib
|
||||||
xmpp/*.[hc]pp)
|
xmpp/*.[hc]pp)
|
||||||
add_library(xmpplib OBJECT ${source_xmpplib})
|
set(source_xmpplib ${source_xmpplib} PARENT_SCOPE)
|
||||||
|
|
||||||
# Define a __FILENAME__ macro with the relative path (from the base project directory)
|
# Define a __FILENAME__ macro with the relative path (from the base project directory)
|
||||||
# of each source file
|
# of each source file
|
||||||
|
|||||||
Reference in New Issue
Block a user