static added - not working
This commit is contained in:
parent
948a9a76a6
commit
c89d6bb4fa
@ -10,6 +10,9 @@ project(main VERSION 1.0.0
|
||||
# Set C++ standard
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
set(CMAKE_CXX_COMPILER "/usr/bin/gpp")
|
||||
|
||||
set(BIN_STATIC true)
|
||||
|
||||
# Set binary name
|
||||
set(BIN_NAME "test")
|
||||
@ -35,6 +38,7 @@ endif()
|
||||
# SDL2 & SDL2_ttf setup
|
||||
if(BIN_STATIC)
|
||||
set(SDL2_USE_STATIC_LIBS ON)
|
||||
add_compile_definitions(SDL_STATIC)
|
||||
endif()
|
||||
|
||||
# List of subprojects to include (e.g., external libraries or modules)
|
||||
@ -55,8 +59,15 @@ set_target_properties(${PROJECT_NAME} PROPERTIES OUTPUT_NAME ${BIN_NAME} SUFFIX
|
||||
find_package(SDL2 REQUIRED)
|
||||
find_package(SDL2_ttf REQUIRED)
|
||||
|
||||
target_include_directories(${PROJECT_NAME} PRIVATE ${SDL2_INCLUDE_DIRS} ${SDL2_TTF_INCLUDE_DIRS})
|
||||
target_link_libraries(${PROJECT_NAME} PRIVATE SDL2::SDL2 SDL2_ttf::SDL2_ttf)
|
||||
if(BIN_STATIC)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -static-libgcc -static-libstdc++")
|
||||
target_include_directories(${PROJECT_NAME} PRIVATE STATIC ${SDL2_INCLUDE_DIRS} ${SDL2_TTF_INCLUDE_DIRS})
|
||||
target_link_libraries(${PROJECT_NAME} PRIVATE SDL2::SDL2-static SDL2_ttf::SDL2_ttf-static)
|
||||
else()
|
||||
target_include_directories(${PROJECT_NAME} PRIVATE ${SDL2_INCLUDE_DIRS} ${SDL2_TTF_INCLUDE_DIRS})
|
||||
target_link_libraries(${PROJECT_NAME} PRIVATE SDL2::SDL2 SDL2_ttf::SDL2_ttf)
|
||||
endif()
|
||||
|
||||
|
||||
# Loop over the subprojects and link them to the main executable
|
||||
foreach(Project IN LISTS SubProjects)
|
||||
@ -65,8 +76,12 @@ foreach(Project IN LISTS SubProjects)
|
||||
# Add the subproject's directory to the build (if not already added)
|
||||
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/lib/${Project})
|
||||
endif()
|
||||
|
||||
target_link_libraries(${PROJECT_NAME} PRIVATE ${Project})
|
||||
|
||||
if(BIN_STATIC)
|
||||
target_link_libraries(${PROJECT_NAME} PRIVATE ${Project} --static)
|
||||
else()
|
||||
target_link_libraries(${PROJECT_NAME} PRIVATE ${Project})
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
# Enable parallel build support
|
||||
|
Loading…
x
Reference in New Issue
Block a user