Modified CMakeLists.txt to use autotools to generate configuration for Unix systems

This commit is contained in:
Steve Gerbino
2016-09-25 22:03:56 -04:00
parent 43afcc0d99
commit 702b42eaf3
3 changed files with 10 additions and 195 deletions

View File

@@ -4,23 +4,19 @@ cmake_minimum_required(VERSION 2.8.7)
project(json-c)
if(MSVC)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4100 /wd4996 /wd4244 /wd4706 /wd4702 /wd4127 /wd4701")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /wd4100 /wd4996 /wd4244 /wd4706 /wd4702 /wd4127 /wd4701")
file(COPY ./config.h.win32 DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/include/)
file(RENAME ${CMAKE_CURRENT_BINARY_DIR}/include/config.h.win32 ${CMAKE_CURRENT_BINARY_DIR}/include/config.h)
file(COPY ./json_config.h.win32 DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/include/)
file(RENAME ${CMAKE_CURRENT_BINARY_DIR}/include/json_config.h.win32 ${CMAKE_CURRENT_BINARY_DIR}/include/json_config.h)
elseif(APPLE)
file(COPY ./config.h.mac DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/include/)
file(RENAME ${CMAKE_CURRENT_BINARY_DIR}/include/config.h.mac ${CMAKE_CURRENT_BINARY_DIR}/include/config.h)
file(COPY ./json_config.h.mac DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/include/)
file(RENAME ${CMAKE_CURRENT_BINARY_DIR}/include/json_config.h.mac ${CMAKE_CURRENT_BINARY_DIR}/include/json_config.h)
endif()
if(UNIX)
elseif(UNIX)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror")
elseif(MSVC)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4100 /wd4996 /wd4244 /wd4706 /wd4702 /wd4127 /wd4701")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /wd4100 /wd4996 /wd4244 /wd4706 /wd4702 /wd4127 /wd4701")
execute_process(COMMAND ${SHELL_EXECUTABLE} -c sh autogen.sh WORKING_DIRECTORY ${PROJECT_SOURCE_DIR})
execute_process(COMMAND ${SHELL_EXECUTABLE} -c configure WORKING_DIRECTORY ${PROJECT_SOURCE_DIR})
file(COPY ./config.h DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/include/)
file(COPY ./json_config.h DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/include/)
endif()
include_directories(${CMAKE_CURRENT_BINARY_DIR}/include)
@@ -56,12 +52,13 @@ set(JSON_C_SOURCES
add_library(json-c
${JSON_C_SOURCES}
${JSON_C_HEADERS}
)
)
install(TARGETS json-c
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib)
ARCHIVE DESTINATION lib
)
install(DIRECTORY . DESTINATION ${CMAKE_INSTALL_PREFIX}/include/json-c FILES_MATCHING PATTERN "*.h")
install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/include/ DESTINATION ${CMAKE_INSTALL_PREFIX}/include/json-c FILES_MATCHING PATTERN "*.h")