From 19a19d1952b7afbc5d3d58374c900708a09ae039 Mon Sep 17 00:00:00 2001 From: cryptobiote Date: Thu, 20 Jun 2013 11:00:40 -0600 Subject: [PATCH 1/2] Adding option for MSVC for those who are linking statically. --- CMakeLists.txt | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index cdad582..bf10214 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -53,6 +53,12 @@ project (jansson C) # Options OPTION (BUILD_SHARED_LIBS "Build shared libraries." OFF) +IF(MSVC) + # This option must match the settings used in your program, in particular if you + # are linking statically + OPTION( STATIC_CRT "Link the static CRT libraries" OFF ) +ENDIF() + # Set some nicer output dirs. SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin) SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib) @@ -84,15 +90,24 @@ include (CheckFunctionKeywords) include (CheckIncludeFiles) include (CheckTypeSize) -# Turn off Microsofts "security" warnings. + if (MSVC) + # Turn off Microsofts "security" warnings. add_definitions( "/W3 /D_CRT_SECURE_NO_WARNINGS /wd4005 /wd4996 /nologo" ) + + if (STATIC_CRT) + set(CMAKE_C_FLAGS_RELEASE "/MT") + set(CMAKE_C_FLAGS_DEBUG "/MTd") + endif() + endif() if (CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) set(CMAKE_C_FLAGS "-fPIC") endif() + + # Check for the int-type includes check_include_files (sys/types.h HAVE_SYS_TYPES_H) check_include_files (inttypes.h HAVE_INTTYPES_H) From d9ee5a7f1b740ed04f7301ec83ae8aeb3076fef5 Mon Sep 17 00:00:00 2001 From: cryptobiote Date: Tue, 25 Jun 2013 09:36:11 -0600 Subject: [PATCH 2/2] Update CMakeLists.txt --- CMakeLists.txt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index bf10214..e4afb2e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -53,11 +53,11 @@ project (jansson C) # Options OPTION (BUILD_SHARED_LIBS "Build shared libraries." OFF) -IF(MSVC) +if (MSVC) # This option must match the settings used in your program, in particular if you # are linking statically OPTION( STATIC_CRT "Link the static CRT libraries" OFF ) -ENDIF() +endif () # Set some nicer output dirs. SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin) @@ -67,10 +67,10 @@ SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib) # Give the debug version a different postfix for windows, # so both the debug and release version can be built in the # same build-tree on Windows (MSVC). -IF (WIN32) +if (WIN32) SET (CMAKE_DEBUG_POSTFIX "_d") -ELSE (WIN32) -ENDIF (WIN32) +else (WIN32) +endif (WIN32) # This is how I thought it should go # set (JANSSON_VERSION "2.3.1")