[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[mosquitto-dev] Using cmake on linux for 1.4
|
I've noticed two problems compiling the new 1.4 on linux using cmake.
Both problems are seen on Slackware64 and Ubuntu 14.04.
1. src/CMakeLists.txt incorrectly (I believe) uses the
"exported_symbols_list" linker option. Linking fails with that option in
place. I think this should use "dynamic-list" option instead as shown in
the attached patch. Linking completes with this patch.
2. CMakeLists.txt contains the directive cmake_policy(SET CMP0042 NEW)
immediately following cmake_minimum_required(VERSION 2.8). However,
using cmake-2.8.12 I see the error:
CMake Error at CMakeLists.txt:12 (cmake_policy):
Policy "CMP0042" is not known to this version of CMake.
The documentation at
http://www.cmake.org/cmake/help/v3.0/policy/CMP0042.html indicates that
it was introduced in cmake-3.0 i.e. not applicable to previous versions.
It can be fixed locally (cmake-2.8.12) by commenting that line out or
making it conditional, as per second attached patch.
chris
--- src/CMakeLists.txt.orig 2015-02-18 11:44:09.000000000 +1000
+++ src/CMakeLists.txt 2015-02-21 14:24:10.423277309 +1000
@@ -113,7 +113,7 @@
if (APPLE)
set_target_properties(mosquitto PROPERTIES LINK_FLAGS "-Wl,-exported_symbols_list -Wl,${mosquitto_SOURCE_DIR}/src/linker-macosx.syms")
else (APPLE)
- set_target_properties(mosquitto PROPERTIES LINK_FLAGS "-Wl,-exported_symbols_list -Wl,${mosquitto_SOURCE_DIR}/src/linker.syms")
+ set_target_properties(mosquitto PROPERTIES LINK_FLAGS "-Wl,-dynamic-list -Wl,${mosquitto_SOURCE_DIR}/src/linker.syms")
endif (APPLE)
endif (UNIX)
--- CMakeLists.txt.orig 2015-02-18 11:44:09.000000000 +1000
+++ CMakeLists.txt 2015-02-21 15:47:09.171321949 +1000
@@ -9,7 +9,9 @@
project(mosquitto)
cmake_minimum_required(VERSION 2.8)
-cmake_policy(SET CMP0042 NEW)
+if (POLICY CMP0042)
+ cmake_policy(SET CMP0042 NEW)
+endif (POLICY CMP0042)
set (VERSION 1.4)