From fa02c23ee2f4bef6be8a502e11fc568dc74b4235 Mon Sep 17 00:00:00 2001 From: Szczepan Zalega Date: Mon, 6 Feb 2017 09:25:03 +0100 Subject: Use CMake instead of Make Signed-off-by: Szczepan Zalega --- CMakeLists.txt | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index c324067..aa6208e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -29,12 +29,25 @@ set(SOURCE_FILES misc.cc NitrokeyManager.cc NK_C_API.cc include/CommandFailedException.h include/LibraryException.h - unittest/test_C_API.cpp - unittest/catch_main.cpp - unittest/test2.cc - unittest/test3.cc include/LongOperationInProgressException.h include/stick10_commands_0.8.h ) -add_executable(libnitrokey ${SOURCE_FILES}) \ No newline at end of file +#add_library(libnitrokey STATIC ${SOURCE_FILES}) +add_library(nitrokey SHARED ${SOURCE_FILES}) +add_library(catch STATIC unittest/catch_main.cpp ) + +add_executable (test_C_API unittest/test_C_API.cpp) +target_link_libraries (test_C_API PUBLIC nitrokey catch) + +add_executable (test2 unittest/test2.cc) +target_link_libraries (test2 PUBLIC nitrokey catch) + +add_executable (test3 unittest/test3.cc) +target_link_libraries (test3 PUBLIC nitrokey catch) + +add_executable (test_HOTP unittest/test_HOTP.cc) +target_link_libraries (test_HOTP PUBLIC nitrokey catch) + +add_executable (test1 unittest/test.cc) +target_link_libraries (test1 PUBLIC nitrokey catch) -- cgit v1.2.1 From 761765b54cb160e4b9f51376aff29a83ff693596 Mon Sep 17 00:00:00 2001 From: Szczepan Zalega Date: Mon, 6 Feb 2017 10:54:07 +0100 Subject: Remove GCC specific settings. Make tests compilation optional. Signed-off-by: Szczepan Zalega --- CMakeLists.txt | 67 ++++++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 44 insertions(+), 23 deletions(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index aa6208e..fe1c755 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,14 +1,20 @@ cmake_minimum_required(VERSION 3.5) -project(libnitrokey) -set(CMAKE_CXX_COMPILER "/usr/bin/clang++-3.8" CACHE string "clang++ compiler" FORCE) +IF (UNIX) + OPTION(USE_CLANG "Use CLang" TRUE) + IF(USE_CLANG) + set(CMAKE_CXX_COMPILER "/usr/bin/clang++-3.8" CACHE string "clang++ compiler" FORCE) + ENDIF() +ENDIF() -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14") -SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC -Wno-gnu-variable-sized-type-not-at-end -g3" ) -SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lhidapi-libusb" ) +project(libnitrokey CXX) +set(CMAKE_CXX_STANDARD 14) -include_directories(include unittest/Catch/include) +#OPTION(COMPILE_TESTS "Compile tests" FALSE) +OPTION(COMPILE_TESTS "Compile tests" TRUE) +set(CMAKE_BUILD_TYPE RelWithDebInfo) +include_directories(include) set(SOURCE_FILES include/command.h include/command_id.h @@ -22,32 +28,47 @@ set(SOURCE_FILES include/NitrokeyManager.h include/stick10_commands.h include/stick20_commands.h - NK_C_API.h + include/CommandFailedException.h + include/LibraryException.h + include/LongOperationInProgressException.h + include/stick10_commands_0.8.h command_id.cc device.cc log.cc misc.cc NitrokeyManager.cc - NK_C_API.cc include/CommandFailedException.h include/LibraryException.h - include/LongOperationInProgressException.h - include/stick10_commands_0.8.h - ) + NK_C_API.h + NK_C_API.cc +) + -#add_library(libnitrokey STATIC ${SOURCE_FILES}) add_library(nitrokey SHARED ${SOURCE_FILES}) -add_library(catch STATIC unittest/catch_main.cpp ) +target_link_libraries(nitrokey hidapi-libusb) + +IF (COMPILE_TESTS) + include_directories(unittest/Catch/include) + + add_library(catch SHARED unittest/catch_main.cpp ) + + add_executable (test_C_API unittest/test_C_API.cpp) + target_link_libraries (test_C_API PUBLIC nitrokey catch) + + add_executable (test2 unittest/test2.cc) + target_link_libraries (test2 PUBLIC nitrokey catch) -add_executable (test_C_API unittest/test_C_API.cpp) -target_link_libraries (test_C_API PUBLIC nitrokey catch) + add_executable (test3 unittest/test3.cc) + target_link_libraries (test3 PUBLIC nitrokey catch) -add_executable (test2 unittest/test2.cc) -target_link_libraries (test2 PUBLIC nitrokey catch) + add_executable (test_HOTP unittest/test_HOTP.cc) + target_link_libraries (test_HOTP PUBLIC nitrokey catch) -add_executable (test3 unittest/test3.cc) -target_link_libraries (test3 PUBLIC nitrokey catch) + add_executable (test1 unittest/test.cc) + target_link_libraries (test1 PUBLIC nitrokey catch) -add_executable (test_HOTP unittest/test_HOTP.cc) -target_link_libraries (test_HOTP PUBLIC nitrokey catch) + #run with 'make test' or 'ctest' + #needs connected PRO device for success + #warning: it may delete data on the device + include (CTest) + add_test (runs test_C_API) +ENDIF() -add_executable (test1 unittest/test.cc) -target_link_libraries (test1 PUBLIC nitrokey catch) -- cgit v1.2.1 From 473f1bf1854305c6ab5e926f369d07a37e081f3c Mon Sep 17 00:00:00 2001 From: Szczepan Zalega Date: Mon, 6 Feb 2017 11:29:02 +0100 Subject: Support ASAN and Clang optionally Signed-off-by: Szczepan Zalega --- CMakeLists.txt | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index fe1c755..21fe7ab 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,19 +1,28 @@ cmake_minimum_required(VERSION 3.5) IF (UNIX) - OPTION(USE_CLANG "Use CLang" TRUE) + OPTION(ADD_ASAN "Use ASAN to show memory issues" FALSE) + OPTION(USE_CLANG "Use CLang" FALSE) IF(USE_CLANG) set(CMAKE_CXX_COMPILER "/usr/bin/clang++-3.8" CACHE string "clang++ compiler" FORCE) + ELSE() + set(CMAKE_CXX_COMPILER) + ENDIF() + IF(ADD_ASAN) + SET(EXTRA_LIBS ${EXTRA_LIBS} asan ) + ADD_DEFINITIONS(-fsanitize=address -fno-omit-frame-pointer) + # ADD_DEFINITIONS(-fsanitize=thread -fno-omit-frame-pointer -fPIE -pie -g) ENDIF() ENDIF() project(libnitrokey CXX) set(CMAKE_CXX_STANDARD 14) -#OPTION(COMPILE_TESTS "Compile tests" FALSE) -OPTION(COMPILE_TESTS "Compile tests" TRUE) +OPTION(COMPILE_TESTS "Compile tests" FALSE) set(CMAKE_BUILD_TYPE RelWithDebInfo) +MESSAGE("Build type: ${CMAKE_BUILD_TYPE}") + include_directories(include) set(SOURCE_FILES include/command.h @@ -51,19 +60,19 @@ IF (COMPILE_TESTS) add_library(catch SHARED unittest/catch_main.cpp ) add_executable (test_C_API unittest/test_C_API.cpp) - target_link_libraries (test_C_API PUBLIC nitrokey catch) + target_link_libraries (test_C_API ${EXTRA_LIBS} nitrokey catch) add_executable (test2 unittest/test2.cc) - target_link_libraries (test2 PUBLIC nitrokey catch) + target_link_libraries (test2 ${EXTRA_LIBS} nitrokey catch) add_executable (test3 unittest/test3.cc) - target_link_libraries (test3 PUBLIC nitrokey catch) + target_link_libraries (test3 ${EXTRA_LIBS} nitrokey catch) add_executable (test_HOTP unittest/test_HOTP.cc) - target_link_libraries (test_HOTP PUBLIC nitrokey catch) + target_link_libraries (test_HOTP ${EXTRA_LIBS} nitrokey catch) add_executable (test1 unittest/test.cc) - target_link_libraries (test1 PUBLIC nitrokey catch) + target_link_libraries (test1 ${EXTRA_LIBS} nitrokey catch) #run with 'make test' or 'ctest' #needs connected PRO device for success -- cgit v1.2.1 From 9c24f835372cc28d255557bd00f9d28598a07ebe Mon Sep 17 00:00:00 2001 From: Szczepan Zalega Date: Mon, 6 Feb 2017 12:12:13 +0100 Subject: Build Release with debug info when none build type selected Signed-off-by: Szczepan Zalega --- CMakeLists.txt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 21fe7ab..6ed4498 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -19,8 +19,9 @@ project(libnitrokey CXX) set(CMAKE_CXX_STANDARD 14) OPTION(COMPILE_TESTS "Compile tests" FALSE) -set(CMAKE_BUILD_TYPE RelWithDebInfo) - +IF (NOT CMAKE_BUILD_TYPE) + set(CMAKE_BUILD_TYPE RelWithDebInfo) +ENDIF() MESSAGE("Build type: ${CMAKE_BUILD_TYPE}") include_directories(include) -- cgit v1.2.1 From d93e321832d7e44b76d80d5c13814b7e151d10e9 Mon Sep 17 00:00:00 2001 From: Szczepan Zalega Date: Mon, 6 Feb 2017 12:12:57 +0100 Subject: Use CPack to generate packages Signed-off-by: Szczepan Zalega --- CMakeLists.txt | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 6ed4498..4c37e31 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,6 @@ -cmake_minimum_required(VERSION 3.5) +SET(PROJECT_VERSION "3.0-alpha") +cmake_minimum_required(VERSION 3.5) IF (UNIX) OPTION(ADD_ASAN "Use ASAN to show memory issues" FALSE) OPTION(USE_CLANG "Use CLang" FALSE) @@ -55,6 +56,10 @@ set(SOURCE_FILES add_library(nitrokey SHARED ${SOURCE_FILES}) target_link_libraries(nitrokey hidapi-libusb) +install (TARGETS nitrokey DESTINATION "lib") +file(GLOB LIB_INCLUDES "include/libnitrokey/*.h") +install (FILES ${LIB_INCLUDES} DESTINATION "include") + IF (COMPILE_TESTS) include_directories(unittest/Catch/include) @@ -82,3 +87,10 @@ IF (COMPILE_TESTS) add_test (runs test_C_API) ENDIF() + +# build a CPack driven installer package +include (InstallRequiredSystemLibraries) +set (CPACK_RESOURCE_FILE_LICENSE + "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE") +set (CPACK_PACKAGE_VERSION "${PROJECT_VERSION}") +include (CPack) \ No newline at end of file -- cgit v1.2.1 From 5f9927f86a8257ff3da8cdbbcd47de98ad09e7b6 Mon Sep 17 00:00:00 2001 From: Szczepan Zalega Date: Mon, 6 Feb 2017 13:24:32 +0100 Subject: Compile both dynamic and static library versions Signed-off-by: Szczepan Zalega --- CMakeLists.txt | 2 ++ 1 file changed, 2 insertions(+) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 4c37e31..b840e07 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -54,7 +54,9 @@ set(SOURCE_FILES add_library(nitrokey SHARED ${SOURCE_FILES}) +add_library(nitrokey-static STATIC ${SOURCE_FILES}) target_link_libraries(nitrokey hidapi-libusb) +target_link_libraries(nitrokey-static hidapi-libusb) install (TARGETS nitrokey DESTINATION "lib") file(GLOB LIB_INCLUDES "include/libnitrokey/*.h") -- cgit v1.2.1 From 08ecabdd888a322bd6499366be446d4d03443c1e Mon Sep 17 00:00:00 2001 From: Szczepan Zalega Date: Mon, 6 Feb 2017 13:24:53 +0100 Subject: Fix project version Signed-off-by: Szczepan Zalega --- CMakeLists.txt | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index b840e07..7f183ef 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,3 @@ -SET(PROJECT_VERSION "3.0-alpha") - cmake_minimum_required(VERSION 3.5) IF (UNIX) OPTION(ADD_ASAN "Use ASAN to show memory issues" FALSE) @@ -17,13 +15,14 @@ IF (UNIX) ENDIF() project(libnitrokey CXX) +SET(PROJECT_VERSION "3.0-alpha") set(CMAKE_CXX_STANDARD 14) OPTION(COMPILE_TESTS "Compile tests" FALSE) IF (NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE RelWithDebInfo) ENDIF() -MESSAGE("Build type: ${CMAKE_BUILD_TYPE}") +MESSAGE("${PROJECT_NAME}: Build type: ${CMAKE_BUILD_TYPE}") include_directories(include) set(SOURCE_FILES @@ -90,6 +89,8 @@ IF (COMPILE_TESTS) ENDIF() +#SET(CPACK_GENERATOR +# "DEB;RPM") # build a CPack driven installer package include (InstallRequiredSystemLibraries) set (CPACK_RESOURCE_FILE_LICENSE -- cgit v1.2.1 From 166b2e39f3815216871c0f505e9d879e11ca5080 Mon Sep 17 00:00:00 2001 From: Szczepan Zalega Date: Mon, 6 Feb 2017 15:36:07 +0100 Subject: Allow user to build only one version (static/dynamic) of the lib at once Signed-off-by: Szczepan Zalega --- CMakeLists.txt | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 7f183ef..715c61d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -18,6 +18,8 @@ project(libnitrokey CXX) SET(PROJECT_VERSION "3.0-alpha") set(CMAKE_CXX_STANDARD 14) +OPTION(LIBNITROKEY_STATIC "Build libnitrokey statically" TRUE) + OPTION(COMPILE_TESTS "Compile tests" FALSE) IF (NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE RelWithDebInfo) @@ -52,12 +54,15 @@ set(SOURCE_FILES ) -add_library(nitrokey SHARED ${SOURCE_FILES}) -add_library(nitrokey-static STATIC ${SOURCE_FILES}) -target_link_libraries(nitrokey hidapi-libusb) -target_link_libraries(nitrokey-static hidapi-libusb) +IF (NOT LIBNITROKEY_STATIC) + add_library(nitrokey SHARED ${SOURCE_FILES}) + target_link_libraries(nitrokey hidapi-libusb) + install (TARGETS nitrokey DESTINATION "lib") +ELSE() + add_library(nitrokey-static STATIC ${SOURCE_FILES}) + target_link_libraries(nitrokey-static hidapi-libusb) +ENDIF() -install (TARGETS nitrokey DESTINATION "lib") file(GLOB LIB_INCLUDES "include/libnitrokey/*.h") install (FILES ${LIB_INCLUDES} DESTINATION "include") -- cgit v1.2.1 From 2781c2ed38d778c5bfd258678163949f3593a3e7 Mon Sep 17 00:00:00 2001 From: Szczepan Zalega Date: Mon, 6 Feb 2017 16:07:33 +0100 Subject: Support TSAN Signed-off-by: Szczepan Zalega --- CMakeLists.txt | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 715c61d..58443c0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,16 +1,20 @@ cmake_minimum_required(VERSION 3.5) IF (UNIX) - OPTION(ADD_ASAN "Use ASAN to show memory issues" FALSE) OPTION(USE_CLANG "Use CLang" FALSE) IF(USE_CLANG) set(CMAKE_CXX_COMPILER "/usr/bin/clang++-3.8" CACHE string "clang++ compiler" FORCE) ELSE() set(CMAKE_CXX_COMPILER) ENDIF() + OPTION(ADD_ASAN "Use ASAN to show memory issues" FALSE) + OPTION(ADD_TSAN "Use TSAN to show thread issues" FALSE) IF(ADD_ASAN) SET(EXTRA_LIBS ${EXTRA_LIBS} asan ) ADD_DEFINITIONS(-fsanitize=address -fno-omit-frame-pointer) - # ADD_DEFINITIONS(-fsanitize=thread -fno-omit-frame-pointer -fPIE -pie -g) + ENDIF() + IF(ADD_TSAN) + SET(EXTRA_LIBS ${EXTRA_LIBS} tsan ) + ADD_DEFINITIONS(-fsanitize=thread -fno-omit-frame-pointer -fPIE -pie -g) ENDIF() ENDIF() -- cgit v1.2.1 From 37da4df5995e0f8fa746c39e8d0ff83e32de03a9 Mon Sep 17 00:00:00 2001 From: Szczepan Zalega Date: Mon, 6 Feb 2017 16:14:57 +0100 Subject: Do not let to enable both ASAN and TSAN Signed-off-by: Szczepan Zalega --- CMakeLists.txt | 3 +++ 1 file changed, 3 insertions(+) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 58443c0..d44dba9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -16,6 +16,9 @@ IF (UNIX) SET(EXTRA_LIBS ${EXTRA_LIBS} tsan ) ADD_DEFINITIONS(-fsanitize=thread -fno-omit-frame-pointer -fPIE -pie -g) ENDIF() + IF(ADD_TSAN AND ADD_ASAN) + message(FATAL_ERROR "TSAN and ASAN cannot be used at the same time") + ENDIF() ENDIF() project(libnitrokey CXX) -- cgit v1.2.1 From 99b490a17d17611f7499eab84789fc9ba6e66885 Mon Sep 17 00:00:00 2001 From: Szczepan Zalega Date: Mon, 6 Feb 2017 18:30:21 +0100 Subject: For Clang use default compiler name Signed-off-by: Szczepan Zalega --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index d44dba9..57c3057 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.5) IF (UNIX) OPTION(USE_CLANG "Use CLang" FALSE) IF(USE_CLANG) - set(CMAKE_CXX_COMPILER "/usr/bin/clang++-3.8" CACHE string "clang++ compiler" FORCE) + set(CMAKE_CXX_COMPILER "/usr/bin/clang++" CACHE string "clang++ compiler" FORCE) ELSE() set(CMAKE_CXX_COMPILER) ENDIF() -- cgit v1.2.1 From c69604e8ba099b1421af86c34d904b0b380f996c Mon Sep 17 00:00:00 2001 From: Szczepan Zalega Date: Thu, 9 Mar 2017 18:49:02 +0100 Subject: Test compilation under windows --- CMakeLists.txt | 31 ++++++++++++++++++++----------- 1 file changed, 20 insertions(+), 11 deletions(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 57c3057..2b9f580 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -21,7 +21,7 @@ IF (UNIX) ENDIF() ENDIF() -project(libnitrokey CXX) +project(libnitrokey) SET(PROJECT_VERSION "3.0-alpha") set(CMAKE_CXX_STANDARD 14) @@ -33,6 +33,7 @@ IF (NOT CMAKE_BUILD_TYPE) ENDIF() MESSAGE("${PROJECT_NAME}: Build type: ${CMAKE_BUILD_TYPE}") +include_directories(hidapi) include_directories(include) set(SOURCE_FILES include/command.h @@ -60,15 +61,23 @@ set(SOURCE_FILES NK_C_API.cc ) +#IF(UNIX) +# add_library(hidapi-libusb STATIC hidapi/libusb/hid.c ) +#ELSE() + include_directories(hidapi/hidapi) + add_library(hidapi-libusb STATIC hidapi/windows/hid.c ) + target_link_libraries(hidapi-libusb setupapi setupapi kernel32 user32 gdi32 winspool comdlg32 advapi32 shell32 ole32 oleaut32 uuid odbc32 odbccp32) +#ENDIF() IF (NOT LIBNITROKEY_STATIC) add_library(nitrokey SHARED ${SOURCE_FILES}) - target_link_libraries(nitrokey hidapi-libusb) install (TARGETS nitrokey DESTINATION "lib") + SET(LIBNAME nitrokey) ELSE() - add_library(nitrokey-static STATIC ${SOURCE_FILES}) - target_link_libraries(nitrokey-static hidapi-libusb) + add_library(nitrokey-static STATIC ${SOURCE_FILES}) + SET(LIBNAME nitrokey-static) ENDIF() +target_link_libraries(${LIBNAME} hidapi-libusb) file(GLOB LIB_INCLUDES "include/libnitrokey/*.h") install (FILES ${LIB_INCLUDES} DESTINATION "include") @@ -76,22 +85,22 @@ install (FILES ${LIB_INCLUDES} DESTINATION "include") IF (COMPILE_TESTS) include_directories(unittest/Catch/include) - add_library(catch SHARED unittest/catch_main.cpp ) - + add_library(catch STATIC unittest/catch_main.cpp ) + add_executable (test_C_API unittest/test_C_API.cpp) - target_link_libraries (test_C_API ${EXTRA_LIBS} nitrokey catch) + target_link_libraries (test_C_API ${EXTRA_LIBS} ${LIBNAME} catch) add_executable (test2 unittest/test2.cc) - target_link_libraries (test2 ${EXTRA_LIBS} nitrokey catch) + target_link_libraries (test2 ${EXTRA_LIBS} ${LIBNAME} catch) add_executable (test3 unittest/test3.cc) - target_link_libraries (test3 ${EXTRA_LIBS} nitrokey catch) + target_link_libraries (test3 ${EXTRA_LIBS} ${LIBNAME} catch) add_executable (test_HOTP unittest/test_HOTP.cc) - target_link_libraries (test_HOTP ${EXTRA_LIBS} nitrokey catch) + target_link_libraries (test_HOTP ${EXTRA_LIBS} ${LIBNAME} catch) add_executable (test1 unittest/test.cc) - target_link_libraries (test1 ${EXTRA_LIBS} nitrokey catch) + target_link_libraries (test1 ${EXTRA_LIBS} ${LIBNAME} catch) #run with 'make test' or 'ctest' #needs connected PRO device for success -- cgit v1.2.1 From adbc664125142c434294bfa795666c90c7608429 Mon Sep 17 00:00:00 2001 From: Szczepan Zalega Date: Thu, 9 Mar 2017 18:49:24 +0100 Subject: Adjust for compilation on Visual Studio 2017 Building works however tests are not. Possibly linking with original hidapi solution would work. --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 2b9f580..e77de6e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -65,7 +65,7 @@ set(SOURCE_FILES # add_library(hidapi-libusb STATIC hidapi/libusb/hid.c ) #ELSE() include_directories(hidapi/hidapi) - add_library(hidapi-libusb STATIC hidapi/windows/hid.c ) + add_library(hidapi-libusb SHARED hidapi/windows/hid.c ) target_link_libraries(hidapi-libusb setupapi setupapi kernel32 user32 gdi32 winspool comdlg32 advapi32 shell32 ole32 oleaut32 uuid odbc32 odbccp32) #ENDIF() @@ -85,7 +85,7 @@ install (FILES ${LIB_INCLUDES} DESTINATION "include") IF (COMPILE_TESTS) include_directories(unittest/Catch/include) - add_library(catch STATIC unittest/catch_main.cpp ) + add_library(catch SHARED unittest/catch_main.cpp ) add_executable (test_C_API unittest/test_C_API.cpp) target_link_libraries (test_C_API ${EXTRA_LIBS} ${LIBNAME} catch) -- cgit v1.2.1 From 6ee68fa294d1d9ab8fa8e61a009845dc31a9b771 Mon Sep 17 00:00:00 2001 From: Szczepan Zalega Date: Tue, 14 Feb 2017 11:53:25 +0100 Subject: Compiles on MXE, but not working on Windows Signed-off-by: Szczepan Zalega --- CMakeLists.txt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index e77de6e..89ab66d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -61,13 +61,13 @@ set(SOURCE_FILES NK_C_API.cc ) -#IF(UNIX) +IF(UNIX) # add_library(hidapi-libusb STATIC hidapi/libusb/hid.c ) -#ELSE() +ELSEIF(WIN32) include_directories(hidapi/hidapi) - add_library(hidapi-libusb SHARED hidapi/windows/hid.c ) - target_link_libraries(hidapi-libusb setupapi setupapi kernel32 user32 gdi32 winspool comdlg32 advapi32 shell32 ole32 oleaut32 uuid odbc32 odbccp32) -#ENDIF() + add_library(hidapi-libusb STATIC hidapi/windows/hid.c ) + target_link_libraries(hidapi-libusb setupapi) +ENDIF() IF (NOT LIBNITROKEY_STATIC) add_library(nitrokey SHARED ${SOURCE_FILES}) -- cgit v1.2.1 From 29fc4839b7aaf76c3587cf0d268546fd1d1390c4 Mon Sep 17 00:00:00 2001 From: Szczepan Zalega Date: Tue, 21 Feb 2017 14:56:07 +0100 Subject: Build debug-log-free library for increased security Signed-off-by: Szczepan Zalega --- CMakeLists.txt | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 89ab66d..0ed907b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -71,13 +71,19 @@ ENDIF() IF (NOT LIBNITROKEY_STATIC) add_library(nitrokey SHARED ${SOURCE_FILES}) + add_library(nitrokey-log SHARED ${SOURCE_FILES}) install (TARGETS nitrokey DESTINATION "lib") SET(LIBNAME nitrokey) ELSE() add_library(nitrokey-static STATIC ${SOURCE_FILES}) + add_library(nitrokey-static-log STATIC ${SOURCE_FILES}) SET(LIBNAME nitrokey-static) ENDIF() target_link_libraries(${LIBNAME} hidapi-libusb) +target_link_libraries(${LIBNAME}-log hidapi-libusb) + +SET_TARGET_PROPERTIES(${LIBNAME} PROPERTIES COMPILE_DEFINITIONS "NO_LOG") + file(GLOB LIB_INCLUDES "include/libnitrokey/*.h") install (FILES ${LIB_INCLUDES} DESTINATION "include") -- cgit v1.2.1 From 9e40106072be4783a39c3fec37e46922d57a6ee2 Mon Sep 17 00:00:00 2001 From: Szczepan Zalega Date: Thu, 23 Feb 2017 22:49:51 +0100 Subject: Comment: use clang with TSAN Signed-off-by: Szczepan Zalega --- CMakeLists.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 0ed907b..d0bc1f8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -14,7 +14,8 @@ IF (UNIX) ENDIF() IF(ADD_TSAN) SET(EXTRA_LIBS ${EXTRA_LIBS} tsan ) - ADD_DEFINITIONS(-fsanitize=thread -fno-omit-frame-pointer -fPIE -pie -g) + SET(USE_CLANG TRUE) + ADD_DEFINITIONS(-fsanitize=thread -fno-omit-frame-pointer -fPIC -g) #use with clang ENDIF() IF(ADD_TSAN AND ADD_ASAN) message(FATAL_ERROR "TSAN and ASAN cannot be used at the same time") -- cgit v1.2.1 From 34daa03a2be13f9f38fc29336350236a3e9f541e Mon Sep 17 00:00:00 2001 From: Szczepan Zalega Date: Tue, 28 Feb 2017 17:32:47 +0100 Subject: Count lifetime instances of device communication exception Signed-off-by: Szczepan Zalega --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index d0bc1f8..46f5bee 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -60,7 +60,7 @@ set(SOURCE_FILES NitrokeyManager.cc NK_C_API.h NK_C_API.cc -) + DeviceCommunicationExceptions.cpp) IF(UNIX) # add_library(hidapi-libusb STATIC hidapi/libusb/hid.c ) -- cgit v1.2.1 From aa9baa019bb53d83625e0a296efc744ef351fd45 Mon Sep 17 00:00:00 2001 From: Szczepan Zalega Date: Sat, 11 Mar 2017 13:47:41 +0100 Subject: Add tested Travis build configuration. Set proper hidapi url. Signed-off-by: Szczepan Zalega --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 46f5bee..46405a9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.5) +cmake_minimum_required(VERSION 3.1) IF (UNIX) OPTION(USE_CLANG "Use CLang" FALSE) IF(USE_CLANG) -- cgit v1.2.1