diff --git a/CMakeLists.txt b/CMakeLists.txt index 3e74680..c6b228d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -73,7 +73,7 @@ message(STATUS "JsonCpp Version: ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINO set(PROJECT_SOVERSION 25) # Defines the project root to be used throughout all scripts. -SET(JSONCPP_ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR}) +set(JSONCPP_ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR}) include(${CMAKE_CURRENT_SOURCE_DIR}/include/PreventInSourceBuilds.cmake) include(${CMAKE_CURRENT_SOURCE_DIR}/include/PreventInBuildInstalls.cmake) diff --git a/example/CMakeLists.txt b/example/CMakeLists.txt index 8ddade4..f6ebb58 100644 --- a/example/CMakeLists.txt +++ b/example/CMakeLists.txt @@ -1,6 +1,6 @@ #vim: et ts =4 sts = 4 sw = 4 tw = 0 -ADD_SUBDIRECTORY(readFromStream/) -ADD_SUBDIRECTORY(readFromString/) -ADD_SUBDIRECTORY(streamWrite/) -ADD_SUBDIRECTORY(stringWrite/) \ No newline at end of file +add_subdirectory(readFromStream/) +add_subdirectory(readFromString/) +add_subdirectory(streamWrite/) +add_subdirectory(stringWrite/) \ No newline at end of file diff --git a/example/readFromStream/CMakeLists.txt b/example/readFromStream/CMakeLists.txt index e947dcd..77524d2 100644 --- a/example/readFromStream/CMakeLists.txt +++ b/example/readFromStream/CMakeLists.txt @@ -1,2 +1,2 @@ -ADD_EXECUTABLE(readFromStream readFromStream.cpp) -TARGET_LINK_LIBRARIES(readFromStream PRIVATE jsoncpp::framework) \ No newline at end of file +add_executable(readFromStream readFromStream.cpp) +target_link_libraries(readFromStream PRIVATE jsoncpp::framework) \ No newline at end of file diff --git a/example/readFromString/CMakeLists.txt b/example/readFromString/CMakeLists.txt index d076651..b8352e6 100644 --- a/example/readFromString/CMakeLists.txt +++ b/example/readFromString/CMakeLists.txt @@ -1,2 +1,2 @@ -ADD_EXECUTABLE(readFromString readFromString.cpp) -TARGET_LINK_LIBRARIES(readFromString PRIVATE jsoncpp::framework) \ No newline at end of file +add_executable(readFromString readFromString.cpp) +target_link_libraries(readFromString PRIVATE jsoncpp::framework) \ No newline at end of file diff --git a/example/streamWrite/CMakeLists.txt b/example/streamWrite/CMakeLists.txt index f5f9e63..e82d179 100644 --- a/example/streamWrite/CMakeLists.txt +++ b/example/streamWrite/CMakeLists.txt @@ -1,2 +1,2 @@ -ADD_EXECUTABLE(streamWrite streamWrite.cpp) -TARGET_LINK_LIBRARIES(streamWrite PRIVATE jsoncpp::framework) \ No newline at end of file +add_executable(streamWrite streamWrite.cpp) +target_link_libraries(streamWrite PRIVATE jsoncpp::framework) \ No newline at end of file diff --git a/example/stringWrite/CMakeLists.txt b/example/stringWrite/CMakeLists.txt index 28c3ce7..a1f80cc 100644 --- a/example/stringWrite/CMakeLists.txt +++ b/example/stringWrite/CMakeLists.txt @@ -1,2 +1,2 @@ -ADD_EXECUTABLE(stringWrite stringWrite.cpp) -TARGET_LINK_LIBRARIES(stringWrite PRIVATE jsoncpp::framework) \ No newline at end of file +add_executable(stringWrite stringWrite.cpp) +target_link_libraries(stringWrite PRIVATE jsoncpp::framework) \ No newline at end of file diff --git a/src/lib_json/CMakeLists.txt b/src/lib_json/CMakeLists.txt index 0fe8b16..930853f 100644 --- a/src/lib_json/CMakeLists.txt +++ b/src/lib_json/CMakeLists.txt @@ -84,48 +84,48 @@ list(APPEND REQUIRED_FEATURES # Property: OBJECT -ADD_LIBRARY(jsoncpp.framework.object OBJECT +add_library(jsoncpp.framework.object OBJECT json_reader.cpp json_value.cpp json_writer.cpp ) -SET_TARGET_PROPERTIES(jsoncpp.framework.object PROPERTIES CXX_STANDARD 11) -SET_TARGET_PROPERTIES(jsoncpp.framework.object PROPERTIES VERSION ${PROJECT_VERSION}) -SET_TARGET_PROPERTIES(jsoncpp.framework.object PROPERTIES SOVERSION ${PROJECT_SOVERSION}) +set_target_properties(jsoncpp.framework.object PROPERTIES CXX_STANDARD 11) +set_target_properties(jsoncpp.framework.object PROPERTIES VERSION ${PROJECT_VERSION}) +set_target_properties(jsoncpp.framework.object PROPERTIES SOVERSION ${PROJECT_SOVERSION}) -TARGET_COMPILE_FEATURES(jsoncpp.framework.object PUBLIC ${REQUIRED_FEATURES}) -TARGET_INCLUDE_DIRECTORIES(jsoncpp.framework.object PUBLIC $) +target_compile_features(jsoncpp.framework.object PUBLIC ${REQUIRED_FEATURES}) +target_include_directories(jsoncpp.framework.object PUBLIC $) -IF (JSONCPP_BUILD_SHARED_LIBS) +if (JSONCPP_BUILD_SHARED_LIBS) # CMake link shared library on Windows # Ref: https://stackoverflow.com/a/41618677 - SET(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS TRUE) + set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS TRUE) # The POSITION_INDEPENDENT_CODE property determines whether position independent executables or # shared libraries will be created. This property is True by default for SHARED and MODULE library # targets and False otherwise. # Property: SHARED, POSITION_INDEPENDENT_CODE - ADD_LIBRARY(jsoncpp.framework SHARED $) + add_library(jsoncpp.framework SHARED $) # Needed for legacy code - TARGET_COMPILE_DEFINITIONS(jsoncpp.framework PUBLIC JSON_DLL_BUILD) + target_compile_definitions(jsoncpp.framework PUBLIC JSON_DLL_BUILD) -ELSE () +else () - ADD_LIBRARY(jsoncpp.framework STATIC $) + add_library(jsoncpp.framework STATIC $) -ENDIF () +endif () -ADD_LIBRARY(jsoncpp::framework ALIAS jsoncpp.framework) -SET_TARGET_PROPERTIES(jsoncpp.framework PROPERTIES CXX_STANDARD 11) -SET_TARGET_PROPERTIES(jsoncpp.framework PROPERTIES VERSION ${PROJECT_VERSION}) -SET_TARGET_PROPERTIES(jsoncpp.framework PROPERTIES SOVERSION ${PROJECT_SOVERSION}) +add_library(jsoncpp::framework ALIAS jsoncpp.framework) +set_target_properties(jsoncpp.framework PROPERTIES CXX_STANDARD 11) +set_target_properties(jsoncpp.framework PROPERTIES VERSION ${PROJECT_VERSION}) +set_target_properties(jsoncpp.framework PROPERTIES SOVERSION ${PROJECT_SOVERSION}) -TARGET_COMPILE_FEATURES(jsoncpp.framework PUBLIC ${REQUIRED_FEATURES}) +target_compile_features(jsoncpp.framework PUBLIC ${REQUIRED_FEATURES}) # It is necessary to repeat these instructions again, in case of not doing it, the executables # will be unable to locate the Headers needed to perform the linking -TARGET_INCLUDE_DIRECTORIES(jsoncpp.framework PUBLIC $) \ No newline at end of file +target_include_directories(jsoncpp.framework PUBLIC $) \ No newline at end of file