include(GenerateExportHeader)
project(json_gssapi)
-include_directories(src/ ${CMAKE_CURRENT_BINARY_DIR})
+include_directories(${CMAKE_CURRENT_SOURCE_DIR}/src/ ${CMAKE_CURRENT_BINARY_DIR})
add_library(jsongssapi SHARED
src/datamodel/GSSDisplayStatus.cpp
src/commands/GSSPseudoRandom.cpp
src/commands/GSSWrap.cpp
src/commands/GSSUnwrap.cpp
- src/util_base64.cpp
- src/util_json.cpp
- src/util_random.cpp
+ src/utils/util_base64.cpp
+ src/utils/util_json.cpp
+ src/utils/util_random.cpp
src/cache/GSSContextCache.cpp
src/cache/GSSNameCache.cpp
src/datamodel/GSSContext.cpp
)
+set_target_properties( jsongssapi
+ PROPERTIES SOVERSION 1)
+
GENERATE_EXPORT_HEADER(jsongssapi)
-add_executable(json_gssapi main.cpp)
+add_executable(json_gssapi src/main.cpp)
find_package (PkgConfig)
pkg_check_modules (GLIB2 glib-2.0)
# deal with gssapi / krb5
if (WIN32)
-set(KRB5_SDK $ENV{PROGRAMW6432}\\MIT\\Kerberos)
-message("KRB5_SDK: ${KRB5_SDK}" )
-set(KRB5_INCLUDE_DIRS ${KRB5_SDK}\\include;${KRB5_SDK}\\include\\gssapi)
-set(KRB5_LIBRARIES ${KRB5_SDK}\\lib\\amd64\\gssapi64.lib)
+ if ("$ENV{TARGET_CPU}" STREQUAL "x86")
+ set(KRB5_SDK $ENV{ProgramFiles}\\MIT\\Kerberos)
+ set(GSSAPI_LIB ${KRB5_SDK}\\lib\\i386\\gssapi32.lib)
+ elseif ("$ENV{TARGET_CPU}" STREQUAL "x64")
+ set(KRB5_SDK $ENV{PROGRAMW6432}\\MIT\\Kerberos)
+ set(GSSAPI_LIB ${KRB5_SDK}\\lib\\amd64\\gssapi64.lib)
+ else ("$ENV{TARGET_CPU}" STREQUAL "x86")
+ message(FATAL_ERROR "TARGET_CPU '$ENV{TARGET_CPU}' not supported. Did you run setenv.bat?")
+ endif ("$ENV{TARGET_CPU}" STREQUAL "x86")
+ set(KRB5_INCLUDE_DIRS ${KRB5_SDK}\\include;${KRB5_SDK}\\include\\gssapi)
+ set(KRB5_LIBRARIES ${GSSAPI_LIB})
else (WIN32)
-set(KRB5_LIBRARIES gssapi_krb5)
+ set(KRB5_LIBRARIES gssapi_krb5)
endif (WIN32)
# openssl / crpyto for random
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /WX")
-#elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
-# set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Werror")
+elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Werror")
endif ()
include_directories(${KRB5_INCLUDE_DIRS} ${JANSSON_INCLUDE_DIRS})
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake_modules/")
find_package (CPPUNIT)
-install(TARGETS json_gssapi RUNTIME DESTINATION bin)
+install(TARGETS json_gssapi jsongssapi
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION lib/${CMAKE_LIBRARY_ARCHITECTURE}
+ )
add_subdirectory(src)