I just want to add the Lemon library to my CMakeLists.txt. When I was not using CMake I just added "-lemon" and everything went fine, but now I don't know the procedure to add that to the CMake file.
Edited do include my CMakeLists.txt:
# Created by the script cgal_create_cmake_script_with_options
# This is the CMake script for compiling a set of CGAL applications.
project( ssp )
cmake_minimum_required(VERSION 2.6.2)
if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" VERSION_GREATER 2.6)
if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION}" VERSION_GREATER 2.8.3)
cmake_policy(VERSION 2.8.4)
else()
cmake_policy(VERSION 2.6)
endif()
endif()
set( CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true )
if ( COMMAND cmake_policy )
cmake_policy( SET CMP0003 NEW )
endif()
# CGAL and its components
find_package( CGAL QUIET COMPONENTS )
if ( NOT CGAL_FOUND )
message(STATUS "This project requires the CGAL library, and will not be compiled.")
return()
endif()
# include helper file
include( ${CGAL_USE_FILE} )
# Boost and its components
find_package( Boost REQUIRED )
if ( NOT Boost_FOUND )
message(STATUS "This project requires the Boost library, and will not be compiled.")
return()
endif()
# include for local directory
# include for local package
set(CMAKE_CXX_FLAGS "-lemon")
# Creating entries for target: ssp
# ############################
add_executable( ssp arrangement.cpp main.cpp polygonOperations.cpp scheduleGraph.cpp )
add_to_cached_list( CGAL_EXECUTABLE_TARGETS ssp )
# Link the executable to CGAL and third-party libraries
target_link_libraries(ssp lemon ${CGAL_LIBRARIES} ${CGAL_3RD_PARTY_LIBRARIES} )
It's very simple, use target_link_libraries:
project(test)
add_executable(mine test.c)
target_link_libraries(mine m)
Where in this example, I'm linking against libm. In your case, m would be lemon. At least I think, I'm not sure from your question if the library name is lemon or emon since -l is the flag and the name should follow (ie -lm links libm).
For my simple example, if I run make VERBOSE=1 (and strip out the unimportant lines):
[100%] Building C object CMakeFiles/mine.dir/test.c.o
/usr/bin/cc -o CMakeFiles/mine.dir/test.c.o -c /home/tgallagher/temp/test.c
Linking C executable mine
/usr/local/bin/cmake -E cmake_link_script CMakeFiles/mine.dir/link.txt --verbose=1
/usr/bin/cc CMakeFiles/mine.dir/test.c.o -o mine -rdynamic -lm
So it compiles the source file first, then it puts the -lm on the linker line.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With