Posts: 187
Threads: 13
Joined: Dec 2010
Reputation:
7
Location: Brazil
Code: $ cmake --help-policy CMP0022
cmake version 2.8.12
CMP0022
INTERFACE_LINK_LIBRARIES defines the link interface.
CMake 2.8.11 constructed the 'link interface' of a target from
properties matching (IMPORTED_)?LINK_INTERFACE_LIBRARIES(_<CONFIG>)?.
The modern way to specify config-sensitive content is to use generator
expressions and the IMPORTED_ prefix makes uniform processing of the
link interface with generator expressions impossible. The
INTERFACE_LINK_LIBRARIES target property was introduced as a
replacement in CMake 2.8.12. This new property is named consistently
with the INTERFACE_COMPILE_DEFINITIONS, INTERFACE_INCLUDE_DIRECTORIES
and INTERFACE_COMPILE_OPTIONS properties. For in-build targets, CMake
will use the INTERFACE_LINK_LIBRARIES property as the source of the
link interface only if policy CMP0022 is NEW. When exporting a target
which has this policy set to NEW, only the INTERFACE_LINK_LIBRARIES
property will be processed and generated for the IMPORTED target by
default. A new option to the install(EXPORT) and export commands
allows export of the old-style properties for compatibility with
downstream users of CMake versions older than 2.8.12. The
target_link_libraries command will no longer populate the properties
matching LINK_INTERFACE_LIBRARIES(_<CONFIG>)? if this policy is NEW.
The OLD behavior for this policy is to ignore the
INTERFACE_LINK_LIBRARIES property for in-build targets. The NEW
behavior for this policy is to use the INTERFACE_LINK_LIBRARIES
property for in-build targets, and ignore the old properties matching
(IMPORTED_)?LINK_INTERFACE_LIBRARIES(_<CONFIG>)?.
This policy was introduced in CMake version 2.8.12. CMake version
2.8.12 warns when the policy is not set and uses OLD behavior. Use
the cmake_policy command to set it to OLD or NEW explicitly.
Sponsored links
Posts: 6.069
Threads: 68
Joined: May 2010
Reputation:
167
Location: Grenoble, France
10-17-2013, 08:18 PM
(This post was last modified: 10-17-2013, 08:18 PM by gregory.)
Do you use this cmake option "-DUSER_CMAKE_LD_FLAGS". If yes remove it for the moment.
Edit: thank josephg
Posts: 8
Threads: 0
Joined: Mar 2013
Reputation:
0
(10-17-2013, 08:54 AM)gregory Wrote: THanks. What give you
Code: cmake --help-policy CMP0022
There you go.
Code: cmake --help-policy CMP0022
cmake version 2.8.12
CMP0022
INTERFACE_LINK_LIBRARIES defines the link interface.
CMake 2.8.11 constructed the 'link interface' of a target from
properties matching (IMPORTED_)?LINK_INTERFACE_LIBRARIES(_<CONFIG>)?.
The modern way to specify config-sensitive content is to use generator
expressions and the IMPORTED_ prefix makes uniform processing of the
link interface with generator expressions impossible. The
INTERFACE_LINK_LIBRARIES target property was introduced as a
replacement in CMake 2.8.12. This new property is named consistently
with the INTERFACE_COMPILE_DEFINITIONS, INTERFACE_INCLUDE_DIRECTORIES
and INTERFACE_COMPILE_OPTIONS properties. For in-build targets, CMake
will use the INTERFACE_LINK_LIBRARIES property as the source of the
link interface only if policy CMP0022 is NEW. When exporting a target
which has this policy set to NEW, only the INTERFACE_LINK_LIBRARIES
property will be processed and generated for the IMPORTED target by
default. A new option to the install(EXPORT) and export commands
allows export of the old-style properties for compatibility with
downstream users of CMake versions older than 2.8.12. The
target_link_libraries command will no longer populate the properties
matching LINK_INTERFACE_LIBRARIES(_<CONFIG>)? if this policy is NEW.
The OLD behavior for this policy is to ignore the
INTERFACE_LINK_LIBRARIES property for in-build targets. The NEW
behavior for this policy is to use the INTERFACE_LINK_LIBRARIES
property for in-build targets, and ignore the old properties matching
(IMPORTED_)?LINK_INTERFACE_LIBRARIES(_<CONFIG>)?.
This policy was introduced in CMake version 2.8.12. CMake version
2.8.12 warns when the policy is not set and uses OLD behavior. Use
the cmake_policy command to set it to OLD or NEW explicitly.
Posts: 187
Threads: 13
Joined: Dec 2010
Reputation:
7
Location: Brazil
@alucryd: Actually I had that answered already
@gregory: I believe that the flag "-DUSER_CMAKE_LD_FLAGS" was not used. You can see the build script, including cmake command line, here in the PKGBUILD:
Code: cmake .. -DCMAKE_INSTALL_PREFIX='/usr' -DCMAKE_BUILD_TYPE='Release' -DPACKAGE_MODE='TRUE' -DXDG_STD='TRUE' -DGLSL_API='TRUE' -DREBUILD_SHADER='TRUE' -DPLUGIN_DIR='/usr/lib32/pcsx2' -DGAMEINDEX_DIR='/usr/share/pcsx2' -DGLSL_SHADER_DIR='/usr/share/pcsx2' -DwxWidgets_CONFIG_EXECUTABLE='/usr/bin/wx-config32' -DwxWidgets_wxrc_EXECUTABLE='/usr/bin/wxrc32' -DCMAKE_LIBRARY_PATH='/usr/lib32'
Posts: 8
Threads: 0
Joined: Mar 2013
Reputation:
0
10-18-2013, 05:20 PM
(This post was last modified: 10-18-2013, 05:28 PM by Alucryd.)
(10-18-2013, 12:33 PM)josephg Wrote: @alucryd: Actually I had that answered already
@gregory: I believe that the flag "-DUSER_CMAKE_LD_FLAGS" was not used. You can see the build script, including cmake command line, here in the PKGBUILD:
Code: cmake .. -DCMAKE_INSTALL_PREFIX='/usr' -DCMAKE_BUILD_TYPE='Release' -DPACKAGE_MODE='TRUE' -DXDG_STD='TRUE' -DGLSL_API='TRUE' -DREBUILD_SHADER='TRUE' -DPLUGIN_DIR='/usr/lib32/pcsx2' -DGAMEINDEX_DIR='/usr/share/pcsx2' -DGLSL_SHADER_DIR='/usr/share/pcsx2' -DwxWidgets_CONFIG_EXECUTABLE='/usr/bin/wx-config32' -DwxWidgets_wxrc_EXECUTABLE='/usr/bin/wxrc32' -DCMAKE_LIBRARY_PATH='/usr/lib32'
josephg: Wow, sorry about that, didn't notice the new page.
gregory: I indeed don't specify -DUSER_CMAKE_LD_FLAGS manually, but I believe our package builder does it implicitely. I already tried unsetting our LDFLAGS variable which contains those flags, but to no avail. I will try forcing -DUSER_CMAKE_LD_FLAGS='' and report here.
Edit: Confirmed that forcing empty flags, either by emptying the LDFLAGS variable, or using -DUSER_CMAKE_LD_FLAGS='' produces the same error message.
Posts: 6.069
Threads: 68
Joined: May 2010
Reputation:
167
Location: Grenoble, France
Hum strange, in your previous report there were some linker parameters. Anyway can you try this patch?
Code: Index: CMakeLists.txt
===================================================================
--- CMakeLists.txt (revision 5730)
+++ CMakeLists.txt (working copy)
@@ -36,6 +36,9 @@
if(POLICY CMP0018)
cmake_policy(SET CMP0018 OLD)
endif()
+if(POLICY CMP0022)
+ cmake_policy(SET CMP0022 OLD)
+endif()
# Variable to check that people use the good file
set(TOP_CMAKE_WAS_SOURCED TRUE)
Posts: 8
Threads: 0
Joined: Mar 2013
Reputation:
0
(10-19-2013, 10:15 AM)gregory Wrote: Hum strange, in your previous report there were some linker parameters. Anyway can you try this patch?
Code: Index: CMakeLists.txt
===================================================================
--- CMakeLists.txt (revision 5730)
+++ CMakeLists.txt (working copy)
@@ -36,6 +36,9 @@
if(POLICY CMP0018)
cmake_policy(SET CMP0018 OLD)
endif()
+if(POLICY CMP0022)
+ cmake_policy(SET CMP0022 OLD)
+endif()
# Variable to check that people use the good file
set(TOP_CMAKE_WAS_SOURCED TRUE)
Strange indeed, I'm positive I don't set those flags, but they're still there. Maybe they're the default flags for CMake or PCSX2?
Anyway, I already tried enforcing the old policy as you do with your patch and it didn't help, it only removed the warnings saying there's a new policy.
Posts: 6.069
Threads: 68
Joined: May 2010
Reputation:
167
Location: Grenoble, France
what is the error log with the patch?
Posts: 8
Threads: 0
Joined: Mar 2013
Reputation:
0
Well as I mentioned before, only the CMake error remains, several times the following:
Code: CMake Error:
Error evaluating generator expression:
$<LINK_ONLY:-Wl,-O1,--sort-common,--as-needed,-z,relro>
$<LINK_ONLY> expression requires exactly one parameter.
Posts: 187
Threads: 13
Joined: Dec 2010
Reputation:
7
Location: Brazil
For what is worth, it seems the issue is related with the invocation of 'target_link_libraries' of Utilities and x86emitter.
Code: $ grep -R target_link_libraries common/src/ -A3 -B3
common/src/Utilities/CMakeLists.txt-add_library(${Output} STATIC ${UtilitiesSources} ${UtilitiesHeaders} ${UtilitiesSSources})
common/src/Utilities/CMakeLists.txt-
common/src/Utilities/CMakeLists.txt-# link target with wx
common/src/Utilities/CMakeLists.txt:target_link_libraries(${Output} ${wxWidgets_LIBRARIES})
common/src/Utilities/CMakeLists.txt-
common/src/Utilities/CMakeLists.txt-# Gold (new linux linker) does not get automatically dependency of dependency so you must add
common/src/Utilities/CMakeLists.txt-# them manually.
common/src/Utilities/CMakeLists.txt:target_link_libraries(${Output} ${LIBC_LIBRARIES})
common/src/Utilities/CMakeLists.txt-
common/src/Utilities/CMakeLists.txt-# User flags options
common/src/Utilities/CMakeLists.txt-if(NOT USER_CMAKE_LD_FLAGS STREQUAL "")
common/src/Utilities/CMakeLists.txt: target_link_libraries(${Output} "${USER_CMAKE_LD_FLAGS}")
common/src/Utilities/CMakeLists.txt-endif(NOT USER_CMAKE_LD_FLAGS STREQUAL "")
--
common/src/x86emitter/CMakeLists.txt-add_library(${Output} STATIC ${x86emitterSources} ${x86emitterHeaders})
common/src/x86emitter/CMakeLists.txt-
common/src/x86emitter/CMakeLists.txt-# link target with wx
common/src/x86emitter/CMakeLists.txt:target_link_libraries(${Output} ${wxWidgets_LIBRARIES})
common/src/x86emitter/CMakeLists.txt-
common/src/x86emitter/CMakeLists.txt-# User flags options
common/src/x86emitter/CMakeLists.txt-if(NOT USER_CMAKE_LD_FLAGS STREQUAL "")
common/src/x86emitter/CMakeLists.txt: target_link_libraries(${Output} "${USER_CMAKE_LD_FLAGS}")
common/src/x86emitter/CMakeLists.txt-endif(NOT USER_CMAKE_LD_FLAGS STREQUAL "")
|