diff --git a/CMakeLists.txt b/CMakeLists.txt index c4f3ec783..e10f83f1f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,24 +1,26 @@ cmake_minimum_required(VERSION 3.0.0) -project(json CXX) - -set (json_VERSION "1.0.0-rc1") +project(json + LANGUAGES CXX + VERSION "1.0.0") add_executable(json_unit src/json.hpp test/catch.hpp test/unit.cpp ) if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") - set(CMAKE_CXX_FLAGS "-std=c++11 -stdlib=libc++") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") - set(CMAKE_CXX_FLAGS "-std=c++11") + set(CMAKE_CXX_FLAGS "-std=c++11") elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") set(CMAKE_CXX_FLAGS "/EHsc") STRING(REPLACE "/O2" "/Od" CMAKE_CXX_FLAGS_RELEASE ${CMAKE_CXX_FLAGS_RELEASE}) + # See https://msdn.microsoft.com/fr-fr/library/aa985974.aspx?f=255&MSPPError=-2147217396 + # Avoid warnings for unsafe STL methods call add_definitions(-D_SCL_SECURE_NO_WARNINGS) endif() @@ -40,7 +42,6 @@ configure_package_config_file( write_basic_package_version_file( ${CMAKE_CURRENT_BINARY_DIR}/nlohmann-json-config-version.cmake - VERSION ${json_VERSION} COMPATIBILITY AnyNewerVersion) install(FILES diff --git a/cmake/modules/nlohmann-json-config.cmake.in b/cmake/modules/nlohmann-json-config.cmake.in index 073f6de11..7235c5671 100644 --- a/cmake/modules/nlohmann-json-config.cmake.in +++ b/cmake/modules/nlohmann-json-config.cmake.in @@ -19,5 +19,6 @@ if (NOT TARGET "nlohmann-json::nlohmann-json") add_library("nlohmann-json::nlohmann-json" INTERFACE IMPORTED) set_target_properties("nlohmann-json::nlohmann-json" PROPERTIES - INTERFACE_INCLUDE_DIRECTORIES "${NLOHMANN_JSON_INCLUDE_DIRS}") + INTERFACE_INCLUDE_DIRECTORIES "${NLOHMANN_JSON_INCLUDE_DIRS}" + INTERFACE_COMPILE_OPTIONS ${NLOHMANN_JSON_DEFINITIONS}) endif()