Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 24 additions & 6 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,10 +1,15 @@
project(clew)

option( BUILD_TESTS "Build test program." ON )
option( BUILD_SHARED_LIBRARY "Build shared library." ON )
option( BUILD_STATIC_LIBRARY "Build static library." ON )

cmake_minimum_required (VERSION 2.6)
if (NOT CMAKE_VERSION VERSION_LESS 2.8.4)
cmake_policy (SET CMP0017 NEW)
endif()

include(GNUInstallDirs)
include(CMakeParseArguments)

set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS TRUE)
Expand All @@ -18,14 +23,27 @@ endif()

include_directories(include)

add_library(clew src/clew.c include/clew.h)
if(BUILD_STATIC_LIBRARY)
add_library(clew_static STATIC src/clew.c include/clew.h)
set_target_properties(clew_static PROPERTIES OUTPUT_NAME clew)
install(TARGETS clew_static
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libraries
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libraries)
endif()

add_executable(testclew clewTest/clewTest.cpp include/clew.h)
target_link_libraries(testclew clew ${CMAKE_DL_LIBS})
if(BUILD_SHARED_LIBRARY)
add_library(clew_shared SHARED src/clew.c include/clew.h)
set_property(TARGET clew_shared PROPERTY POSITION_INDEPENDENT_CODE 1)
set_target_properties(clew_shared PROPERTIES OUTPUT_NAME clew)
install(TARGETS clew_shared
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libraries
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libraries)
endif()

install(TARGETS clew
LIBRARY DESTINATION lib COMPONENT libraries
ARCHIVE DESTINATION lib/static COMPONENT libraries)
if(BUILD_TESTS)
add_executable(testclew clewTest/clewTest.cpp include/clew.h)
target_link_libraries(testclew clew_static ${CMAKE_DL_LIBS})
endif()

INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/clew.h
DESTINATION include/CL)