Open GoogleCodeExporter opened 9 years ago
this doesn't look like a FireBreath error; the files that are generating the
link errors are not being referenced by FireBreath, as far as I know.
I have no idea how to fix this;
Original comment by taxilian
on 28 Oct 2010 at 5:25
[deleted comment]
Fix
E:\Projects\firebreath>hg diff cmake
diff -r 06604e36f76d cmake/common.cmake
--- a/cmake/common.cmake Tue Oct 26 20:44:15 2010 +0300
+++ b/cmake/common.cmake Thu Oct 28 10:27:48 2010 +0400
@@ -77,9 +77,10 @@
endmacro(link_boost_library)
macro (add_boost_library BOOST_LIB)
-
+ set (_Boost_COMPONENTS thread date_time) # Don't forget to add here new
components
+ message (STATUS "_Boost_COMPONENTS: ${_Boost_COMPONENTS}")
if (WITH_SYSTEM_BOOST)
- find_package(Boost COMPONENTS thread REQUIRED)
+ find_package(Boost COMPONENTS ${_Boost_COMPONENTS} REQUIRED)
else()
list(APPEND Boost_INCLUDE_DIRS ${BOOST_SOURCE_DIR})
list(REMOVE_DUPLICATES Boost_INCLUDE_DIRS)
Original comment by bignikita
on 28 Oct 2010 at 6:28
ahh... that shouldn't have been hardcoded to thread, it should be ${BOOST_LIB}
we also shouldn't have a list of components; add_boost_library should be called
once (or more) for each boost component needed. If date_time is needed,
add_boost_library(date_time) should be called, which will then do the right
thing.
The bug here is that thread is hardcoded. Can you try this and make sure it
works? If so, I'll fix it in 1.3 before I deploy tomorrow evening.
Original comment by taxilian
on 28 Oct 2010 at 7:23
Examples was compiled successful with this changes:
E:\Projects\firebreath>hg diff
diff -r 06604e36f76d CMakeLists.txt
--- a/CMakeLists.txt Tue Oct 26 20:44:15 2010 +0300
+++ b/CMakeLists.txt Thu Oct 28 14:28:56 2010 +0400
@@ -36,6 +36,9 @@
find_package(Threads REQUIRED)
add_boost_library(thread)
+add_boost_library(date_time)
+
+
# Common core projects -- projects that don't have any plugin specific code,
# but are required before any plugins are loaded
diff -r 06604e36f76d cmake/common.cmake
--- a/cmake/common.cmake Tue Oct 26 20:44:15 2010 +0300
+++ b/cmake/common.cmake Thu Oct 28 14:28:56 2010 +0400
@@ -77,9 +77,8 @@
endmacro(link_boost_library)
macro (add_boost_library BOOST_LIB)
-
if (WITH_SYSTEM_BOOST)
- find_package(Boost COMPONENTS thread REQUIRED)
+ find_package(Boost COMPONENTS ${BOOST_LIB} REQUIRED)
else()
list(APPEND Boost_INCLUDE_DIRS ${BOOST_SOURCE_DIR})
list(REMOVE_DUPLICATES Boost_INCLUDE_DIRS)
Original comment by bignikita
on 28 Oct 2010 at 10:30
I'm not sure what to do about this beyond what we have already done, in fixing
the add_boost_library.
Most system boost installations use autolink; for now we will rely on those.
I'm open to reasonable suggestions/patches for fixing this. I do not want to
add date_time as a required library for all projects, however, since it is not
normally needed. No idea why system boost would require it.
Original comment by taxilian
on 9 Nov 2010 at 11:41
Original issue reported on code.google.com by
bignikita
on 28 Oct 2010 at 5:09Attachments: