-
Notifications
You must be signed in to change notification settings - Fork 1
/
cplex.cmake
52 lines (45 loc) · 2.44 KB
/
cplex.cmake
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# The MIT License (MIT)
#
# Copyright (c) 2019
# Alberto Francisco Kummer Neto (afkneto@inf.ufrgs.br),
# Luciana Salete Buriol (buriol@inf.ufrgs.br) and
# Olinto César Bassi de Araújo (olinto@ctism.ufsm.br)
#
# Permission is hereby granted, free of charge, to any person obtaining a copy of
# this software and associated documentation files (the "Software"), to deal in
# the Software without restriction, including without limitation the rights to
# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
# the Software, and to permit persons to whom the Software is furnished to do so,
# subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
# FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
cmake_minimum_required(VERSION 3.0)
# CPLEX-related configurations
# Configuration of CPLEX libraries.
if (NOT CPLEX_ROOT_DIR)
set(CPLEX_ROOT_DIR "/opt/ibm/ILOG/CPLEX_Studio1210/")
endif()
message(STATUS "Using CPLEX_ROOT_DIR = \"${CPLEX_ROOT_DIR}\"")
# Search for header files.
find_path (CPLEX_HEADER ilcplex/ilocplex.h ${CPLEX_ROOT_DIR}/cplex/include)
find_path (CONCERT_HEADER ilconcert/iloenv.h ${CPLEX_ROOT_DIR}/concert/include)
# And look for its libraries.
# You may need to change these paths according to your architecture.
find_library (CPLEX_LIB_CPLEX cplex "${CPLEX_ROOT_DIR}/cplex/lib/x86-64_linux/static_pic/")
find_library (CPLEX_LIB_ILOCPLEX ilocplex "${CPLEX_ROOT_DIR}/cplex/lib/x86-64_linux/static_pic/")
find_library (CPLEX_LIB_CONCERT concert "${CPLEX_ROOT_DIR}/concert/lib/x86-64_linux/static_pic/")
set(CPLEX_INCLUDE_DIRS ${CPLEX_HEADER} ${CONCERT_HEADER})
set(CPLEX_LIBRARIES ${CPLEX_LIB_ILOCPLEX} ${CPLEX_LIB_CPLEX} ${CPLEX_LIB_CONCERT} -pthread -lgomp -ldl)
# Needed by GCC > 4.9 (and > 5.2 for `ignored-attributes`) to
# supress warnings related to CPLEX headers.
add_definitions(-Wno-deprecated)
# Now, put the path of CPLEX header in compiler search path.
include_directories(${CPLEX_INCLUDE_DIRS})