Skip to content

Commit 09bcd50

Browse files
committed
cmake: make AddApplication() pass linker flags
1 parent 253a6c2 commit 09bcd50

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

CMakeLists.txt

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -827,7 +827,8 @@ macro(AddApplicationInternal Target Executable)
827827
add_dependencies(${Target} runtime_deps)
828828
endif()
829829

830-
set_property(TARGET ${Target} APPEND PROPERTY COMPILE_OPTIONS ${A_Flags})
830+
set_property(TARGET ${Target} APPEND PROPERTY COMPILE_OPTIONS ${A_CompileFlags})
831+
set_property(TARGET ${Target} APPEND PROPERTY LINK_OPTIONS ${A_LinkFlags})
831832
set_property(TARGET ${Target} APPEND PROPERTY INCLUDE_DIRECTORIES ${ENGINE_DIR} ${MOUNT_DIR} ${LIB_DIR})
832833
set_property(TARGET ${Target} APPEND PROPERTY COMPILE_DEFINITIONS ${A_Definitions})
833834
set_target_properties(${Target} PROPERTIES OUTPUT_NAME "${Executable}" PREFIX "" FOLDER "engine")
@@ -846,13 +847,14 @@ endmacro()
846847

847848
function(AddApplication)
848849
set(oneValueArgs Target ExecutableName)
849-
set(multiValueArgs ApplicationMain Definitions Flags Files Libs Tests)
850+
set(multiValueArgs ApplicationMain Definitions CompileFlags LinkFlags Files Libs Tests)
850851
cmake_parse_arguments(A "" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
851852

852853
# Reuse object files between the real application and the test one
853854
add_library(${A_Target}-objects OBJECT EXCLUDE_FROM_ALL ${A_Files} ${PCH_FILE})
854855
target_link_libraries(${A_Target}-objects engine-lib ${A_Libs} ${LIBS_BASE} ${CPP23SupportLibrary})
855-
set_property(TARGET ${A_Target}-objects APPEND PROPERTY COMPILE_OPTIONS ${A_Flags})
856+
set_property(TARGET ${A_Target}-objects APPEND PROPERTY COMPILE_OPTIONS ${A_CompileFlags})
857+
set_property(TARGET ${A_Target}-objects APPEND PROPERTY LINK_OPTIONS ${A_LinkFlags})
856858
set_property(TARGET ${A_Target}-objects APPEND PROPERTY INCLUDE_DIRECTORIES ${ENGINE_DIR} ${MOUNT_DIR} ${LIB_DIR})
857859
set_property(TARGET ${A_Target}-objects APPEND PROPERTY COMPILE_DEFINITIONS ${A_Definitions})
858860

@@ -893,7 +895,7 @@ if (NOT NACL)
893895
ExecutableName dummyapp
894896
Definitions USELESS_DEFINITION_TO_AVOID_PCH_ISSUE
895897
ApplicationMain ${ENGINE_DIR}/null/NullApplication.cpp
896-
Flags ${WARNINGS}
898+
CompileFlags ${WARNINGS}
897899
Files ${COMMON_DIR}/Util.h # must be nonempty
898900
Tests ${ENGINETESTLIST}
899901
)
@@ -920,7 +922,7 @@ if (BUILD_CLIENT)
920922
ExecutableName ${CLIENT_EXECUTABLE_NAME}
921923
ApplicationMain ${ENGINE_DIR}/client/ClientApplication.cpp
922924
Definitions ${Definitions}
923-
Flags ${WARNINGS}
925+
CompileFlags ${WARNINGS}
924926
Files ${WIN_RC} ${BUILDINFOLIST} ${QCOMMONLIST} ${SERVERLIST} ${CLIENTBASELIST} ${CLIENTLIST}
925927
Libs ${LIBS_CLIENT} ${LIBS_CLIENTBASE} ${LIBS_ENGINE}
926928
Tests ${CLIENTTESTLIST}
@@ -938,7 +940,7 @@ if (BUILD_SERVER)
938940
ExecutableName daemonded
939941
ApplicationMain ${ENGINE_DIR}/server/ServerApplication.cpp
940942
Definitions BUILD_ENGINE BUILD_SERVER
941-
Flags ${WARNINGS}
943+
CompileFlags ${WARNINGS}
942944
Files ${WIN_RC} ${BUILDINFOLIST} ${QCOMMONLIST} ${SERVERLIST} ${DEDSERVERLIST}
943945
Libs ${LIBS_ENGINE}
944946
Tests ${ENGINETESTLIST}
@@ -951,7 +953,7 @@ if (BUILD_TTY_CLIENT)
951953
ExecutableName daemon-tty
952954
ApplicationMain ${ENGINE_DIR}/client/ClientApplication.cpp
953955
Definitions BUILD_ENGINE BUILD_TTY_CLIENT
954-
Flags ${WARNINGS}
956+
CompileFlags ${WARNINGS}
955957
Files ${WIN_RC} ${BUILDINFOLIST} ${QCOMMONLIST} ${SERVERLIST} ${CLIENTBASELIST} ${TTYCLIENTLIST}
956958
Libs ${LIBS_CLIENTBASE} ${LIBS_ENGINE}
957959
Tests ${ENGINETESTLIST}

0 commit comments

Comments
 (0)