diff --git a/CMakeLists.txt b/CMakeLists.txt index be676ba..7a2b6d8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -13,9 +13,9 @@ set(SO_MAJOR 2) set(SO_MINOR 1) set(SO_PATCH 0) -add_definitions ( - -DUTF8PROC_EXPORTS -) +if(BUILD_SHARED_LIBS) + add_definitions(-DUTF8PROC_EXPORTS -DUTF8PROC_SHARED) +endif() if (NOT MSVC) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2 -std=c99 -pedantic -Wall") @@ -31,3 +31,10 @@ set_target_properties (utf8proc PROPERTIES VERSION "${SO_MAJOR}.${SO_MINOR}.${SO_PATCH}" SOVERSION ${SO_MAJOR} ) + +install(TARGETS utf8proc + RUNTIME DESTINATION bin + ARCHIVE DESTINATION lib + LIBRARY DESTINATION lib) + +install(FILES utf8proc.h DESTINATION include) diff --git a/utf8proc.h b/utf8proc.h index edf46d4..7b3f11a 100644 --- a/utf8proc.h +++ b/utf8proc.h @@ -120,13 +120,13 @@ typedef bool utf8proc_bool; #endif #include -#ifdef _WIN32 +#if defined _WIN32 && defined UTF8PROC_SHARED # ifdef UTF8PROC_EXPORTS # define UTF8PROC_DLLEXPORT __declspec(dllexport) # else # define UTF8PROC_DLLEXPORT __declspec(dllimport) # endif -#elif __GNUC__ >= 4 +#elif __GNUC__ >= 4 && defined UTF8PROC_SHARED # define UTF8PROC_DLLEXPORT __attribute__ ((visibility("default"))) #else # define UTF8PROC_DLLEXPORT