Skip to content

Commit 1c35047

Browse files
committed
Merge remote-tracking branch 'origin/v10-minor'
2 parents 9792cc6 + 79c28dc commit 1c35047

File tree

20 files changed

+32
-8
lines changed

20 files changed

+32
-8
lines changed

CMakeLists.txt

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -103,10 +103,9 @@ option(LTO "Enable Link Time Optimization, aka Interprocedural Optimization" OFF
103103

104104
if(LTO)
105105
include(CheckIPOSupported)
106-
check_ipo_supported(RESULT result LANGUAGES C OUTPUT output)
107-
if(result)
108-
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE)
109-
message(STATUS "LTO enabled")
106+
check_ipo_supported(RESULT LTO_AVAILABLE LANGUAGES C OUTPUT output)
107+
if(LTO_AVAILABLE)
108+
message(STATUS "LTO available")
110109

111110
# with link-time optimization enabled, we get additional warnings at link time on
112111
# - reader_nl and presol_milp violating the C++ One Definition Rule (-Wodr) due to
@@ -117,10 +116,12 @@ if(LTO)
117116
if((CMAKE_CXX_COMPILER_ID MATCHES "GNU") OR (CMAKE_CXX_COMPILER_ID MATCHES "CLANG"))
118117
add_link_options(-Wno-odr -Wno-alloc-size-larger-than -Wno-stringop-overflow)
119118
endif()
120-
else()
121-
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION FALSE)
122-
message(STATUS "${output}")
123-
endif()
119+
else(LTO_AVAILABLE)
120+
message(STATUS "LTO not available: ${output}")
121+
endif(LTO_AVAILABLE)
122+
else()
123+
message(STATUS "LTO not enabled")
124+
set(LTO_AVAILABLE FALSE)
124125
endif()
125126

126127
set(MPFR AUTO CACHE STRING "should MPFR be linked")

applications/Coloring/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ add_executable(coloring
2828
src/reader_col.c
2929
src/reader_csol.c
3030
)
31+
set_property(TARGET coloring PROPERTY INTERPROCEDURAL_OPTIMIZATION ${LTO_AVAILABLE})
3132

3233
# link to math library if it is available
3334
find_library(LIBM m)

applications/CycleClustering/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ add_executable(cycleclustering
3131
src/reader_cyc.c
3232
src/probdata_cyc.c
3333
)
34+
set_property(TARGET cycleclustering PROPERTY INTERPROCEDURAL_OPTIMIZATION ${LTO_AVAILABLE})
3435

3536
# link to math library if it is available
3637
find_library(LIBM m)

applications/MinIISC/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ add_executable(miniisc
2121
src/miniisc.c
2222
src/readargs.c
2323
)
24+
set_property(TARGET miniisc PROPERTY INTERPROCEDURAL_OPTIMIZATION ${LTO_AVAILABLE})
2425

2526
# link to math library if it is available
2627
find_library(LIBM m)

applications/PBSolver/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ add_executable(pbsolver
2121
src/message_pb.c
2222
src/event_bestsol.c
2323
)
24+
set_property(TARGET pbsolver PROPERTY INTERPROCEDURAL_OPTIMIZATION ${LTO_AVAILABLE})
2425

2526
# link to math library if it is available
2627
find_library(LIBM m)

applications/Ringpacking/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ add_executable(ringpacking
2323
src/pricer_rpa.c
2424
src/cons_rpa.c
2525
src/pattern.c)
26+
set_property(TARGET ringpacking PROPERTY INTERPROCEDURAL_OPTIMIZATION ${LTO_AVAILABLE})
2627

2728
# link to math library if it is available
2829
find_library(LIBM m)

applications/Scheduler/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ add_executable(scheduler
2626
src/reader_sch.c
2727
src/reader_sm.c
2828
)
29+
set_property(TARGET scheduler PROPERTY INTERPROCEDURAL_OPTIMIZATION ${LTO_AVAILABLE})
2930

3031
target_link_libraries(scheduler ${SCIP_LIBRARIES})
3132
target_compile_options(scheduler PRIVATE ${SCIP_COMPILE_FLAGS})

examples/Binpacking/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ add_executable(binpacking
2424
src/probdata_binpacking.c
2525
src/reader_bpa.c
2626
src/vardata_binpacking.c)
27+
set_property(TARGET binpacking PROPERTY INTERPROCEDURAL_OPTIMIZATION ${LTO_AVAILABLE})
2728

2829
# link to math library if it is available
2930
find_library(LIBM m)

examples/CallableLibrary/CMakeLists.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,16 @@ endif()
3737

3838
target_link_libraries(gastrans ${SCIP_LIBRARIES} ${LIBM})
3939
target_compile_options(gastrans PRIVATE ${SCIP_COMPILE_FLAGS})
40+
set_property(TARGET gastrans PROPERTY INTERPROCEDURAL_OPTIMIZATION ${LTO_AVAILABLE})
4041
target_link_libraries(spring ${SCIP_LIBRARIES})
4142
target_compile_options(spring PRIVATE ${SCIP_COMPILE_FLAGS})
43+
set_property(TARGET spring PROPERTY INTERPROCEDURAL_OPTIMIZATION ${LTO_AVAILABLE})
4244
target_link_libraries(brachistochrone ${SCIP_LIBRARIES} ${LIBM})
4345
target_compile_options(brachistochrone PRIVATE ${SCIP_COMPILE_FLAGS})
46+
set_property(TARGET brachistochrone PROPERTY INTERPROCEDURAL_OPTIMIZATION ${LTO_AVAILABLE})
4447
target_link_libraries(circlepacking ${SCIP_LIBRARIES} ${LIBM})
4548
target_compile_options(circlepacking PRIVATE ${SCIP_COMPILE_FLAGS})
49+
set_property(TARGET circlepacking PROPERTY INTERPROCEDURAL_OPTIMIZATION ${LTO_AVAILABLE})
4650

4751
if( TARGET examples )
4852
add_dependencies( examples gastrans spring brachistochrone circlepacking )

examples/Eventhdlr/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ add_executable(eventhdlr
2323

2424
target_link_libraries(eventhdlr ${SCIP_LIBRARIES})
2525
target_compile_options(eventhdlr PRIVATE ${SCIP_COMPILE_FLAGS})
26+
set_property(TARGET eventhdlr PROPERTY INTERPROCEDURAL_OPTIMIZATION ${LTO_AVAILABLE})
2627

2728
if( TARGET examples )
2829
add_dependencies( examples eventhdlr )

0 commit comments

Comments
 (0)