mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-06 05:40:54 -06:00
ENH: add COMPILE_FLAGS to targets
This commit is contained in:
@@ -56,7 +56,7 @@ SET_SOURCE_FILES_PROPERTIES(complex
|
||||
COMPILE_FLAGS "-DFILE_HAS_EXTRA_COMPILE_FLAGS"
|
||||
OBJECT_DEPENDS ${Complex_BINARY_DIR}/cmTestGeneratedHeader.h
|
||||
)
|
||||
|
||||
SET_TARGET_PROPERTIES(complex PROPERTIES COMPILE_FLAGS "-DCOMPLEX_TARGET_FLAG")
|
||||
ADD_CUSTOM_COMMAND(
|
||||
TARGET complex
|
||||
SOURCE ${Complex_SOURCE_DIR}/cmTestGeneratedHeader.h.in
|
||||
|
||||
@@ -272,6 +272,7 @@ void ForceStringUse()
|
||||
|
||||
// defined in testcflags.c
|
||||
extern "C" int TestCFlags(char* m);
|
||||
extern "C" int TestTargetCompileFlags(char* m);
|
||||
|
||||
// ======================================================================
|
||||
|
||||
@@ -387,7 +388,12 @@ int main()
|
||||
{
|
||||
cmPassed("Call to file1 function returned 1.");
|
||||
}
|
||||
|
||||
#ifndef COMPLEX_TARGET_FLAG
|
||||
cmFailed("COMPILE_FLAGS did not work with SET_TARGET_PROPERTIES");
|
||||
#else
|
||||
cmPassed("COMPILE_FLAGS did work with SET_TARGET_PROPERTIES");
|
||||
#endif
|
||||
|
||||
if(file2() != 1)
|
||||
{
|
||||
cmFailed("Call to file2 function from library failed.");
|
||||
@@ -403,6 +409,7 @@ int main()
|
||||
#endif
|
||||
std::string gen = CMAKE_GENERATOR;
|
||||
// visual studio is currently broken for c flags
|
||||
char msg[1024];
|
||||
if(gen.find("Visual") == gen.npos)
|
||||
{
|
||||
#ifdef TEST_C_FLAGS
|
||||
@@ -410,7 +417,6 @@ int main()
|
||||
#else
|
||||
cmPassed("CMake CMAKE_C_FLAGS are not being passed to c++ files.");
|
||||
#endif
|
||||
char msg[1024];
|
||||
if(TestCFlags(msg))
|
||||
{
|
||||
cmPassed(
|
||||
@@ -421,7 +427,15 @@ int main()
|
||||
cmFailed(msg);
|
||||
}
|
||||
}
|
||||
|
||||
if(TestTargetCompileFlags(msg))
|
||||
{
|
||||
cmPassed(msg);
|
||||
}
|
||||
else
|
||||
{
|
||||
cmFailed(msg);
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------
|
||||
// Test ADD_DEFINITIONS
|
||||
|
||||
|
||||
@@ -1,4 +1,15 @@
|
||||
#include <string.h>
|
||||
|
||||
int TestTargetCompileFlags(char* m)
|
||||
{
|
||||
#ifndef COMPLEX_TARGET_FLAG
|
||||
strcpy(m, "CMAKE SET_TARGET_PROPERTIES COMPILE_FLAGS did not work");
|
||||
return 0;
|
||||
#endif
|
||||
strcpy(m, "CMAKE SET_TARGET_PROPERTIES COMPILE_FLAGS worked");
|
||||
return 1;
|
||||
}
|
||||
|
||||
int TestCFlags(char* m)
|
||||
{
|
||||
/* TEST_CXX_FLAGS should not be defined in a c file */
|
||||
|
||||
Reference in New Issue
Block a user