Skip to content

Commit 7beacf8

Browse files
committed
Fix old cmake error
1 parent 9ea9610 commit 7beacf8

File tree

1 file changed

+16
-10
lines changed

1 file changed

+16
-10
lines changed

CMakeLists.txt

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -78,10 +78,19 @@ set_target_properties(yyjson PROPERTIES VERSION ${PROJECT_VERSION} SOVERSION ${Y
7878
# ------------------------------------------------------------------------------
7979
# Project Config
8080
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
81-
include(XcodeProperty)
81+
82+
# Enable C++ for tests
83+
if(YYJSON_BUILD_TESTS)
84+
include(CheckLanguage)
85+
check_language(CXX)
86+
if(CMAKE_CXX_COMPILER)
87+
enable_language(CXX)
88+
endif()
89+
endif()
8290

8391
if(XCODE)
8492
# Flag string for Xcode property
93+
include(XcodeProperty)
8594
set(YYJSON_FLAGS "-Wall -Wextra -Werror -pedantic -pedantic-errors")
8695
if(YYJSON_ENABLE_FASTMATH)
8796
set(YYJSON_FLAGS "${YYJSON_FLAGS} -ffast-math")
@@ -106,7 +115,9 @@ elseif(MSVC)
106115
endif()
107116

108117
target_compile_options(yyjson PRIVATE $<$<C_COMPILER_ID:MSVC>:${YYJSON_FLAGS}>)
109-
target_compile_options(yyjson PRIVATE $<$<CXX_COMPILER_ID:MSVC>:${YYJSON_FLAGS}>)
118+
if(CMAKE_CXX_COMPILER)
119+
target_compile_options(yyjson PRIVATE $<$<CXX_COMPILER_ID:MSVC>:${YYJSON_FLAGS}>)
120+
endif()
110121

111122
elseif(CMAKE_C_COMPILER_ID MATCHES "GNU|Clang|Intel")
112123
# Flag list for GCC like compilers
@@ -116,7 +127,9 @@ elseif(CMAKE_C_COMPILER_ID MATCHES "GNU|Clang|Intel")
116127
endif()
117128

118129
target_compile_options(yyjson PRIVATE $<$<COMPILE_LANGUAGE:C>:${YYJSON_FLAGS}>)
119-
target_compile_options(yyjson PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${YYJSON_FLAGS}>)
130+
if(CMAKE_CXX_COMPILER)
131+
target_compile_options(yyjson PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${YYJSON_FLAGS}>)
132+
endif()
120133

121134
if(YYJSON_FORCE_32_BIT)
122135
set(CMAKE_C_FLAGS -m32)
@@ -164,13 +177,6 @@ install(FILES ${CMAKE_BINARY_DIR}/yyjson.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/
164177
if(YYJSON_BUILD_TESTS)
165178
enable_testing()
166179

167-
# Check C++ compiler
168-
include(CheckLanguage)
169-
check_language(CXX)
170-
if(CMAKE_CXX_COMPILER)
171-
enable_language(CXX)
172-
endif()
173-
174180
if(XCODE)
175181
# Config XCTest
176182
find_package(XCTest REQUIRED)

0 commit comments

Comments
 (0)