@@ -59,33 +59,46 @@ else()
5959endif ()
6060
6161add_library (${libname} ${libsrc} ${libinc} )
62- add_library (${libname} ++ ${libsrc_cpp} ${libinc_cpp} )
62+
63+ if (BUILD_CXX)
64+ add_library (${libname} ++ ${libsrc_cpp} ${libinc_cpp} )
65+ endif ()
6366
6467target_include_directories (${libname} PUBLIC
6568 $<BUILD_INTERFACE :${CMAKE_CURRENT_SOURCE_DIR } >
6669 $<INSTALL_INTERFACE :${CMAKE_INSTALL_INCLUDEDIR} >)
6770
68- target_include_directories (${libname} ++ PUBLIC
69- $<BUILD_INTERFACE :${CMAKE_CURRENT_SOURCE_DIR } >
70- $<INSTALL_INTERFACE :${CMAKE_INSTALL_INCLUDEDIR} >)
71+ if (BUILD_CXX)
72+ target_include_directories (${libname} ++ PUBLIC
73+ $<BUILD_INTERFACE :${CMAKE_CURRENT_SOURCE_DIR } >
74+ $<INSTALL_INTERFACE :${CMAKE_INSTALL_INCLUDEDIR} >)
75+ endif ()
7176
7277set_target_properties (${libname}
7378 PROPERTIES LINKER_LANGUAGE C
7479 DEFINE_SYMBOL LIBCONFIG_EXPORTS
7580 PUBLIC_HEADER "${libinc} " )
76- set_target_properties (${libname} ++
77- PROPERTIES LINKER_LANGUAGE CXX
78- DEFINE_SYMBOL LIBCONFIGXX_EXPORTS
79- PUBLIC_HEADER "${libinc_cpp} " )
81+ if (BUILD_CXX)
82+ set_target_properties (${libname} ++
83+ PROPERTIES LINKER_LANGUAGE CXX
84+ DEFINE_SYMBOL LIBCONFIGXX_EXPORTS
85+ PUBLIC_HEADER "${libinc_cpp} " )
86+ endif ()
8087
8188set_version_info_from_makefile ("Makefile.am" ${libname} )
82- set_version_info_from_makefile ("Makefile.am" ${libname} ++ )
89+ if (BUILD_CXX)
90+ set_version_info_from_makefile ("Makefile.am" ${libname} ++ )
91+ endif ()
8392
8493if (BUILD_SHARED_LIBS )
85- target_compile_definitions (${libname} ++ PRIVATE LIBCONFIG_STATIC )
94+ if (BUILD_CXX)
95+ target_compile_definitions (${libname} ++ PRIVATE LIBCONFIG_STATIC )
96+ endif ()
8697else ()
8798 target_compile_definitions (${libname} PUBLIC LIBCONFIG_STATIC )
88- target_compile_definitions (${libname} ++ PUBLIC LIBCONFIG_STATIC LIBCONFIGXX_STATIC )
99+ if (BUILD_CXX)
100+ target_compile_definitions (${libname} ++ PUBLIC LIBCONFIG_STATIC LIBCONFIGXX_STATIC )
101+ endif ()
89102endif ()
90103
91104if (APPLE )
@@ -101,22 +114,28 @@ endif()
101114if (HAVE_USELOCALE)
102115 target_compile_definitions (${libname}
103116 PRIVATE "HAVE_USELOCALE" )
104- target_compile_definitions (${libname} ++
105- PRIVATE "HAVE_USELOCALE" )
117+ if (BUILD_CXX)
118+ target_compile_definitions (${libname} ++
119+ PRIVATE "HAVE_USELOCALE" )
120+ endif ()
106121endif ()
107122
108123if (HAVE_NEWLOCALE)
109124 target_compile_definitions (${libname}
110125 PRIVATE "HAVE_NEWLOCALE" )
111- target_compile_definitions (${libname} ++
112- PRIVATE "HAVE_NEWLOCALE" )
126+ if (BUILD_CXX)
127+ target_compile_definitions (${libname} ++
128+ PRIVATE "HAVE_NEWLOCALE" )
129+ endif ()
113130endif ()
114131
115132if (HAVE_FREELOCALE)
116133 target_compile_definitions (${libname}
117134 PRIVATE "HAVE_FREELOCALE" )
118- target_compile_definitions (${libname} ++
119- PRIVATE "HAVE_FREELOCALE" )
135+ if (BUILD_CXX)
136+ target_compile_definitions (${libname} ++
137+ PRIVATE "HAVE_FREELOCALE" )
138+ endif ()
120139endif ()
121140
122141if (MSVC )
@@ -125,28 +144,38 @@ if(MSVC)
125144 _CRT_SECURE_NO_DEPRECATE
126145 YY_NO_UNISTD_H
127146 YY_USE_CONST )
128-
129- target_compile_definitions (${libname} ++
130- PRIVATE
131- _CRT_SECURE_NO_DEPRECATE
132- YY_NO_UNISTD_H
133- YY_USE_CONST )
147+ if (BUILD_CXX)
148+ target_compile_definitions (${libname} ++
149+ PRIVATE
150+ _CRT_SECURE_NO_DEPRECATE
151+ YY_NO_UNISTD_H
152+ YY_USE_CONST )
153+ endif ()
134154endif ()
135155
136156if (WIN32 )
137157 target_link_libraries (${libname} shlwapi )
138- target_link_libraries (${libname} ++ shlwapi )
158+ if (BUILD_CXX)
159+ target_link_libraries (${libname} ++ shlwapi )
160+ endif ()
139161endif ()
140162
141163target_include_directories (${libname}
142164 PUBLIC "$<INSTALL_INTERFACE :${CMAKE_INSTALL_INCLUDEDIR} >"
143165 )
166+ if (BUILD_CXX)
167+ target_include_directories (${libname} ++
168+ PUBLIC "$<INSTALL_INTERFACE :${CMAKE_INSTALL_INCLUDEDIR} >"
169+ )
170+ endif ()
144171
145- target_include_directories (${libname} ++
146- PUBLIC "$<INSTALL_INTERFACE :${CMAKE_INSTALL_INCLUDEDIR} >"
147- )
172+ if (BUILD_CXX)
173+ set (_install_targets ${libname} ${libname} ++)
174+ else ()
175+ set (_install_targets ${libname} )
176+ endif ()
148177
149- install (TARGETS ${libname} ${libname} ++
178+ install (TARGETS ${_install_targets}
150179 EXPORT libconfigTargets
151180 ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
152181 LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
@@ -177,15 +206,20 @@ if (UNIX)
177206 ${CMAKE_CURRENT_SOURCE_DIR } /libconfig.pc.cmake.in
178207 ${CMAKE_CURRENT_BINARY_DIR } /libconfig.pc @ONLY
179208 )
180-
181- configure_file (
182- ${CMAKE_CURRENT_SOURCE_DIR } /libconfig++.pc.cmake.in
183- ${CMAKE_CURRENT_BINARY_DIR } /libconfig++.pc @ONLY
184- )
185-
209+ if (BUILD_CXX)
210+ configure_file (
211+ ${CMAKE_CURRENT_SOURCE_DIR } /libconfig++.pc.cmake.in
212+ ${CMAKE_CURRENT_BINARY_DIR } /libconfig++.pc @ONLY
213+ )
214+ endif ()
186215 install (FILES
187216 ${CMAKE_CURRENT_BINARY_DIR } /libconfig.pc
188- ${CMAKE_CURRENT_BINARY_DIR } /libconfig++.pc
189217 DESTINATION ${CMAKE_INSTALL_LIBDIR} /pkgconfig
190218 )
219+ if (BUILD_CXX)
220+ install (FILES
221+ ${CMAKE_CURRENT_BINARY_DIR } /libconfig++.pc
222+ DESTINATION ${CMAKE_INSTALL_LIBDIR} /pkgconfig
223+ )
224+ endif ()
191225endif (UNIX )
0 commit comments