Skip to content

Commit 864599b

Browse files
committed
Fix building tests with shared libs only
1 parent f4beb69 commit 864599b

File tree

1 file changed

+11
-7
lines changed

1 file changed

+11
-7
lines changed

CMakeLists.txt

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,22 +4,23 @@ project(iniparser VERSION 4.2.2)
44

55
include(GNUInstallDirs)
66
include(CMakePackageConfigHelpers)
7+
include(CMakeDependentOption)
78

89
option(
910
BUILD_SHARED_LIBS
1011
"Build using shared libraries"
1112
ON)
12-
option(
13-
BUILD_STATIC_LIBS
14-
"Build using static libraries"
15-
ON)
13+
# For packaging by tools like bitbake, shared and static libs should be build
14+
# at once
15+
CMAKE_DEPENDENT_OPTION(BUILD_STATIC_LIBS "Build static libs" ON
16+
"BUILD_SHARED_LIBS" OFF)
1617
if(BUILD_SHARED_LIBS)
1718
list(
1819
APPEND
1920
TARGET_TYPES
2021
"shared")
2122
endif()
22-
if(BUILD_STATIC_LIBS)
23+
if(BUILD_STATIC_LIBS OR NOT BUILD_SHARED_LIBS)
2324
list(
2425
APPEND
2526
TARGET_TYPES
@@ -132,7 +133,10 @@ if(BUILD_TESTING)
132133
${CMAKE_CURRENT_SOURCE_DIR}/test/test_dictionary.c
133134
${CMAKE_CURRENT_SOURCE_DIR}/test/test_iniparser.c)
134135

135-
target_link_libraries(${TEST_NAME} "${PROJECT_NAME}-static")
136+
foreach(TARGET_TYPE ${TARGET_TYPES})
137+
# if BUILD_STATIC_LIBS=ON shared takes precedence
138+
target_link_libraries(${TEST_NAME} "${PROJECT_NAME}-${TARGET_TYPE}")
139+
endforeach()
136140

137141
target_include_directories(
138142
${TEST_NAME}
@@ -158,7 +162,7 @@ if(BUILD_EXAMPLES)
158162
add_executable(parse ${CMAKE_CURRENT_SOURCE_DIR}/example/parse.c)
159163

160164
foreach(TARGET_TYPE ${TARGET_TYPES})
161-
# if BUILD_STATIC_WITH_SHARED_LIBS=ON shared takes precedence
165+
# if BUILD_STATIC_LIBS=ON shared takes precedence
162166
target_link_libraries(iniexample ${PROJECT_NAME}-${TARGET_TYPE})
163167
target_link_libraries(iniwrite ${PROJECT_NAME}-${TARGET_TYPE})
164168
target_link_libraries(parse ${PROJECT_NAME}-${TARGET_TYPE})

0 commit comments

Comments
 (0)