Changeset 5935 for code/branches/pickup/cmake/TargetUtilities.cmake
- Timestamp:
- Oct 13, 2009, 5:05:17 PM (15 years ago)
- Location:
- code/branches/pickup
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/pickup
- Property svn:mergeinfo changed
-
code/branches/pickup/cmake/TargetUtilities.cmake
r5695 r5935 67 67 ENDIF() 68 68 69 FUNCTION(ORXONOX_ADD_LIBRARY _target_name)69 MACRO(ORXONOX_ADD_LIBRARY _target_name) 70 70 TU_ADD_TARGET(${_target_name} LIBRARY "STATIC;SHARED" ${ARGN}) 71 END FUNCTION(ORXONOX_ADD_LIBRARY)72 73 FUNCTION(ORXONOX_ADD_EXECUTABLE _target_name)71 ENDMACRO(ORXONOX_ADD_LIBRARY) 72 73 MACRO(ORXONOX_ADD_EXECUTABLE _target_name) 74 74 TU_ADD_TARGET(${_target_name} EXECUTABLE "WIN32" ${ARGN}) 75 END FUNCTION(ORXONOX_ADD_EXECUTABLE)76 77 78 FUNCTION(TU_ADD_TARGET _target_name _target_type _additional_switches)75 ENDMACRO(ORXONOX_ADD_EXECUTABLE) 76 77 78 MACRO(TU_ADD_TARGET _target_name _target_type _additional_switches) 79 79 CAPITALISE_NAME(${_target_name} _target_name_capitalised) 80 80 … … 88 88 89 89 90 # GET_HEADER_FILES 90 # Workaround: Source file properties get lost when leaving a subdirectory 91 # Therefore an "H" after a file means we have to set it as HEADER_FILE_ONLY 92 FOREACH(_file ${_arg_SOURCE_FILES}) 93 IF(_file STREQUAL "H") 94 SET_SOURCE_FILES_PROPERTIES(${_last_file} PROPERTIES HEADER_FILE_ONLY TRUE) 95 ELSE() 96 SET(_last_file ${_file}) 97 LIST(APPEND _${_target_name}_source_files ${_file}) 98 ENDIF() 99 ENDFOREACH(_file) 100 101 # Assemble all header files of the library 91 102 IF(_arg_FIND_HEADER_FILES) 92 GET_ALL_HEADER_FILES(_${ target_name}_header_files)103 GET_ALL_HEADER_FILES(_${_target_name}_header_files) 93 104 ENDIF() 94 105 95 106 # Remove potential duplicates 96 SET(_${_target_name}_files ${_${ target_name}_header_files} ${_arg_SOURCE_FILES})107 SET(_${_target_name}_files ${_${_target_name}_header_files} ${_${_target_name}_source_files}) 97 108 LIST(REMOVE_DUPLICATES _${_target_name}_files) 98 109 … … 141 152 ENDIF() 142 153 154 # No warnings needed from third party libraries 155 IF(_arg_ORXONOX_EXTERNAL) 156 REMOVE_COMPILER_FLAGS("-W3 -W4" MSVC) 157 ADD_COMPILER_FLAGS("-w") 158 ENDIF() 159 143 160 # Set default linking if required 144 161 IF(NOT _arg_SHARED AND NOT _arg_STATIC) … … 156 173 SET(_arg_STATIC) 157 174 ENDIF() 175 176 # Don't compile header files 177 FOREACH(_file ${_${_target_name}_files}) 178 IF(NOT _file MATCHES "\\.(c|cc|cpp)") 179 SET_SOURCE_FILES_PROPERTIES(${_file} PROPERTIES HEADER_FILE_ONLY TRUE) 180 ENDIF() 181 ENDFOREACH(_file) 158 182 159 183 # Add the library/executable … … 164 188 ADD_EXECUTABLE(${_target_name} ${_arg_WIN32} ${_arg_EXCLUDE_FROM_ALL} 165 189 ${_${_target_name}_files}) 190 ENDIF() 191 192 # Change library prefix to "lib" 193 IF(MSVC AND ${_target_type} STREQUAL "LIBRARY") 194 SET_TARGET_PROPERTIES(${_target_name} PROPERTIES 195 PREFIX "lib" 196 ) 166 197 ENDIF() 167 198 … … 216 247 ENDIF() 217 248 218 END FUNCTION(TU_ADD_TARGET)249 ENDMACRO(TU_ADD_TARGET) 219 250 220 251
Note: See TracChangeset
for help on using the changeset viewer.