Changeset 7ec3dd1 in nscp for build


Ignore:
Timestamp:
06/16/11 23:00:44 (2 years ago)
Author:
Michael Medin <michael@…>
Branches:
master, 0.4.0, 0.4.1, 0.4.2
Children:
e11d494
Parents:
3bdaf18
Message:

various fixes and changes here and there
Mainly build related (been trying to fix symbol dumper problems) as well as tweaks for the up-coming "nightly release")

Location:
build
Files:
3 added
1 deleted
6 edited

Legend:

Unmodified
Added
Removed
  • build/batch/batch_build_win.bat

    rd66ccee r7ec3dd1  
    1010 
    1111title Generating x64  
    12 cmake -G "Visual Studio 8 2005 Win64" ../../trunk 
    13 cmake -G "Visual Studio 8 2005 Win64" ../../trunk 
     12cmake -D INCREASE_BUILD=1 -G "Visual Studio 8 2005 Win64" ../../trunk 
     13cmake -D INCREASE_BUILD=0 -G "Visual Studio 8 2005 Win64" ../../trunk 
    1414if %ERRORLEVEL% == 1 goto :error 
    1515 
     
    2222if %ERRORLEVEL% == 1 goto :error 
    2323 
     24title Postbuild x64 
     25postbuild.py 
     26if %ERRORLEVEL% == 1 goto :error 
     27 
    2428cd %ROOT%\w32 
    2529if %ERRORLEVEL% == 1 goto :error 
    2630 
    2731title Generating w32 
    28 cmake -G "Visual Studio 8 2005" ../../trunk 
    29 cmake -G "Visual Studio 8 2005" ../../trunk 
     32cmake -D INCREASE_BUILD=0 -G "Visual Studio 8 2005" ../../trunk 
     33cmake -D INCREASE_BUILD=0 -G "Visual Studio 8 2005" ../../trunk 
    3034if %ERRORLEVEL% == 1 goto :error 
    3135 
     
    3842if %ERRORLEVEL% == 1 goto :error 
    3943 
     44title Postbuild w32 
     45postbuild.py 
     46if %ERRORLEVEL% == 1 goto :error 
     47 
     48title Done! 
     49 
    4050exit /b 0 
    4151goto :eof 
  • build/cmake/FindGoogleBreakpad.cmake

    r1f24a1c r7ec3dd1  
    2828ENDIF(NOT BREAKPAD_LIBRARY_SUFFIX_DEBUG) 
    2929 
    30 MESSAGE(STATUS "Breakpad config: ${BREAKPAD_LIBRARY_PREFIX}...${BREAKPAD_LIBRARY_SUFFIX}, ${BREAKPAD_LIBRARY_PREFIX_DEBUG}...${BREAKPAD_LIBRARY_SUFFIX_DEBUG}" ) 
     30MESSAGE("Breakpad config: ${BREAKPAD_LIBRARY_PREFIX}...${BREAKPAD_LIBRARY_SUFFIX}, ${BREAKPAD_LIBRARY_PREFIX_DEBUG}...${BREAKPAD_LIBRARY_SUFFIX_DEBUG}" ) 
    3131SET(BREAKPAD_FOUND TRUE) 
    3232FOREACH(COMPONENT ${GoogleBreakpad_FIND_COMPONENTS}) 
    3333    string(TOUPPER ${COMPONENT} UPPERCOMPONENT) 
    34   FIND_LIBRARY(BREAKPAD_${UPPERCOMPONENT}_LIBRARY_RELEASE NAMES ${BREAKPAD_LIBRARY_PREFIX}${COMPONENT}${BREAKPAD_LIBRARY_SUFFIX}) 
    35   FIND_LIBRARY(BREAKPAD_${UPPERCOMPONENT}_LIBRARY_DEBUG NAMES ${BREAKPAD_LIBRARY_PREFIX_DEBUG}${COMPONENT}${BREAKPAD_LIBRARY_SUFFIX_DEBUG}) 
     34  FIND_LIBRARY(BREAKPAD_${UPPERCOMPONENT}_LIBRARY_RELEASE  
     35    NAMES ${BREAKPAD_LIBRARY_PREFIX}${COMPONENT}${BREAKPAD_LIBRARY_SUFFIX}) 
     36  FIND_LIBRARY(BREAKPAD_${UPPERCOMPONENT}_LIBRARY_DEBUG  
     37    NAMES ${BREAKPAD_LIBRARY_PREFIX_DEBUG}${COMPONENT}${BREAKPAD_LIBRARY_SUFFIX_DEBUG}) 
    3638  IF(BREAKPAD_${UPPERCOMPONENT}_LIBRARY_RELEASE AND BREAKPAD_${UPPERCOMPONENT}_LIBRARY_DEBUG) 
    3739    SET(BREAKPAD_${UPPERCOMPONENT}_FOUND TRUE) 
     
    4446  ENDIF(BREAKPAD_${UPPERCOMPONENT}_LIBRARY_RELEASE AND BREAKPAD_${UPPERCOMPONENT}_LIBRARY_DEBUG) 
    4547ENDFOREACH(COMPONENT) 
     48IF(BREAKPAD_FOUND) 
     49  MESSAGE("Looking for dump-symbols in: ${BREAKPAD_INCLUDE_DIR}/tools/windows/binaries" ) 
     50  FIND_PROGRAM(BREAKPAD_DUMPSYMS_EXE  
     51    dump_syms.exe NAMES dump_syms dumpsyms 
     52    PATHS ENV PATH ${BREAKPAD_INCLUDE_DIR}/tools/windows/binaries 
     53    ) 
     54  MESSAGE("Looking for dump-symbols in: ${BREAKPAD_INCLUDE_DIR}/tools/windows/binaries: ${BREAKPAD_DUMPSYMS_EXE}" ) 
     55  IF(BREAKPAD_DUMPSYMS_EXE) 
     56    SET(BREAKPAD_DUMPSYMS_EXE_FOUND TRUE) 
     57  ELSE(BREAKPAD_DUMPSYMS_EXE) 
     58    SET(BREAKPAD_DUMPSYMS_EXE_FOUND FALSE) 
     59    SET(BREAKPAD_FOUND FALSE) 
     60  ENDIF(BREAKPAD_DUMPSYMS_EXE) 
     61ELSE(BREAKPAD_FOUND) 
     62  MESSAGE("NOT looking for dump-symbols in: ${BREAKPAD_INCLUDE_DIR}/tools/windows/binaries" ) 
     63ENDIF(BREAKPAD_FOUND) 
  • build/cmake/functions.cmake

    r197b263 r7ec3dd1  
    1818  ENDFOREACH(_CURRENT_MODULE ${TMP_LIST}) 
    1919ENDMACRO(LOAD_SECTIONS) 
     20 
     21 
     22MACRO(copy_single_file alias src destDir) 
     23  GET_FILENAME_COMPONENT(TARGET ${src} NAME) 
     24  SET(source_file ${CMAKE_CURRENT_SOURCE_DIR}/${src}) 
     25  IF(${destDir} STREQUAL ".") 
     26    SET(target_file ${CMAKE_BINARY_DIR}/${TARGET}) 
     27  ELSE(${destDir} STREQUAL ".") 
     28    SET(target_file ${CMAKE_BINARY_DIR}/${destDir}/${TARGET}) 
     29  ENDIF(${destDir} STREQUAL ".") 
     30  #message(STATUS " - Copying ${source_file} to ${target_file}...") 
     31  ADD_CUSTOM_COMMAND(OUTPUT ${target_file} 
     32    DEPENDS ${source_file} 
     33    COMMAND cmake  
     34    ARGS -E copy "${source_file}" "${target_file}" 
     35    OUTPUT ${target_file} 
     36    COMMENT Copying ${source_file} to ${target_file} 
     37    ) 
     38  ADD_CUSTOM_TARGET(${TARGET}_${alias} ALL DEPENDS ${target_file}) 
     39  SET_TARGET_PROPERTIES(${TARGET}_${alias} PROPERTIES FOLDER "files/${alias}") 
     40  INSTALL(CODE "FILE(INSTALL DESTINATION \${CMAKE_INSTALL_PREFIX}/${destDir} TYPE EXECUTABLE FILES \"${source_file}\")") 
     41ENDMACRO(copy_single_file) 
     42 
  • build/cmake/module.cmake

    rd66ccee r7ec3dd1  
    55 
    66SET_TARGET_PROPERTIES(${TARGET} PROPERTIES FOLDER ${MODULE_SUBFOLDER}) 
     7#IF(BREAKPAD_FOUND) 
     8# ADD_CUSTOM_COMMAND(TARGET ${TARGET}  
     9#   POST_BUILD  
     10#   COMMAND ${BREAKPAD_DUMPSYMS_EXE} ${BUILD_TARGET_LIB_PATH}/${TARGET}.pdb > ${BUILD_TARGET_LIB_PATH}/${TARGET}.sym 
     11#   COMMENT Building symbols into ${BUILD_TARGET_LIB_PATH}/${TARGET}.sym 
     12#   ) 
     13#ENDIF(BREAKPAD_FOUND) 
    714 
    815INSTALL(TARGETS ${TARGET} LIBRARY DESTINATION ${MODULE_SUBFOLDER}) 
    9 INSTALL(CODE "SET(PDB_FULL_PATH ${BUILD_TARGET_LIB_PATH}/${TARGET}.pdb)") 
    10 INSTALL(CODE "FILE(INSTALL DESTINATION \${CMAKE_INSTALL_PREFIX}/${MODULE_SUBFOLDER} TYPE EXECUTABLE FILES \${PDB_FULL_PATH})") 
    11  
     16#IF(BREAKPAD_FOUND) 
     17# INSTALL(CODE "SET(PDB_FULL_PATH ${BUILD_TARGET_LIB_PATH}/${TARGET}.pdb)") 
     18# INSTALL(CODE "SET(SYM_FULL_PATH ${BUILD_TARGET_LIB_PATH}/${TARGET}.sym)") 
     19# INSTALL(CODE "ADD_CUSTOM_COMMAND(OUTPUT \${SYM_FULL_PATH} COMMAND ${BREAKPAD_DUMPSYMS_EXE} \${PDB_FULL_PATH} > \${SYM_FULL_PATH})") 
     20# INSTALL(CODE "FILE(INSTALL DESTINATION \${CMAKE_INSTALL_PREFIX}/${MODULE_SUBFOLDER} TYPE EXECUTABLE FILES \${SYM_FULL_PATH})") 
     21#ENDIF(BREAKPAD_FOUND) 
  • build/cmake/wix.cmake

    rb7d17f8 r7ec3dd1  
    194194        OUTPUT    ${_target} 
    195195        COMMAND   ${WIX_LIGHT} 
    196         ARGS      ${WIX_LINK_FLAGS_A}  
     196        ARGS      ${WIX_LINK_FLAGS_A} 
     197              -b ${CMAKE_CURRENT_SOURCE_DIR} 
    197198              -ext WixUIExtension  
    198199              -ext WixFirewallExtension  
     
    224225    SET(WIX_OBJ_LIST) 
    225226    WIX_COMPILE("${_sources}" WIX_OBJ_LIST "${_dependencies}") 
    226     WIX_LINK(${_target}.msi WIX_OBJ_LIST "${_loc_files}") 
    227     ADD_CUSTOM_TARGET(${_target}  
    228       DEPENDS ${_target}.msi 
     227    SET(TNAME "${_target}-${VERSION_SERIES}.${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_BUILD}-${VERSION_ARCH}.msi") 
     228    WIX_LINK(${TNAME} WIX_OBJ_LIST "${_loc_files}") 
     229    ADD_CUSTOM_TARGET(${_target}_installer  
     230      ALL 
     231      DEPENDS ${TNAME} 
    229232      SOURCES ${_sources} 
    230233      ) 
  • build/python/version.py

    rd66ccee r7ec3dd1  
    55from datetime import date 
    66from optparse import OptionParser 
     7from VersionHandler import VersionHandler 
    78 
    8 class Version: 
    9   def __init__(self, file): 
    10     self.file = file 
    11     self.major = 0 
    12     self.minor = 0 
    13     self.revision = 0 
    14     self.build = 1 
    15     self.touch() 
    16      
    17   def read(self): 
    18     try: 
    19       f = open(self.file, 'r') 
    20       lines = f.readlines() 
    21       f.close() 
    22       for line in lines: 
    23         self.readline(line) 
    24        
    25         #if line.find(' PRODUCTVER ') != -1: 
    26         # m = re.search('.*(\d),(\d),(\d),(\d).*', line) 
    27         # print 'Parsed: %s as %s'%(line, m.groups()) 
    28         # return (int(m.group(1)), int(m.group(2)), int(m.group(3)), int(m.group(4))) 
    29     except IOError as e: 
    30       print 'File not found: %s (%s)'%(self.file, e) 
    31       sys.exit(1) 
    32      
    33   def readline(self, line): 
    34     line = line.strip('\r\n\t ') 
    35     if len(line) == 0: 
    36       return 
    37     try: 
    38       m = re.search('(.*)=(.*)$', line) 
    39       if not m: 
    40         print 'Failed to parse line: %s'%(line.strip('\n\t ')) 
    41         return 
    42       self.set(m.group(1), m.group(2)) 
    43     except IndexError as e: 
    44       print 'Failed to parse line: %s (%s)'%(line.strip('\n\t '),e) 
     9parser = OptionParser() 
     10parser.add_option("-f", "--file", dest="filename", 
     11          help="File to update version in", metavar="FILE") 
     12parser.add_option("-g", "--generate-hpp", dest="targetHPP", 
     13          help="Generate a HPP file") 
     14parser.add_option("-c", "--create", action="store_true", dest="create", 
     15          help="Create a new file") 
     16parser.add_option("-d", "--display", action="store_true", dest="display", 
     17          help="Display the current version") 
     18parser.add_option("-u", "--update", 
     19          dest="update", default='build', 
     20          help="Update a file (major, minor, revision, build)") 
    4521 
    46   def set(self,k,v): 
    47     if k == 'version': 
    48       m = re.search('.*(\d).(\d).(\d).*', v) 
    49       (self.major, self.minor, self.revision) = [int(e) for e in m.groups()] 
    50     elif k == 'build': 
    51       self.build = int(v) 
    52     elif k == 'date': 
    53       self.date = v 
    54        
    55   def touch(self): 
    56     today = date.today() 
    57     self.date = today.isoformat() 
    58      
    59   def version(self): 
    60     return '%d.%d.%d.%d'%(self.major, self.minor, self.revision, self.build) 
    61      
    62   def __str__(self): 
    63     return 'version: %s, date %s'%(self.version(), self.date) 
     22(options, args) = parser.parse_args() 
     23version = None 
     24if options.filename and options.create: 
     25  version = VersionHandler(options.filename) 
     26  version.create() 
     27elif options.filename and options.update: 
     28  version = VersionHandler(options.filename) 
     29  version.read() 
     30  version.increment(options.update) 
     31  version.touch() 
     32  version.write() 
     33else: 
     34  parser.print_help() 
    6435 
    65   def __repr__(self): 
    66     return 'version: %s, date %s'%(self.version(), self.date) 
    67  
    68   def increment(self, key): 
    69     if key == 'build': 
    70       self.build += 1 
    71     elif key == 'revision': 
    72       self.revision += 1 
    73       self.build = 0 
    74     elif key == 'minor': 
    75       self.minor += 1 
    76       self.revision = 0 
    77       self.build = 0 
    78     elif key == 'major': 
    79       self.major += 1 
    80       self.minor = 0 
    81       self.revision = 0 
    82       self.build = 0 
    83      
    84   def print_version(self): 
    85     print '%d.%d.%d.%d'%(self.major, self.minor, self.revision, self.build) 
    86    
    87   def write_hpp(self, file): 
    88     f = open(file, 'w') 
    89     (ignored, filename) = os.path.split(file) 
    90     name = filename.upper().replace('.', '_') 
    91  
    92     f.write('#ifndef %s\n'%name) 
    93     f.write('#define %s\n'%name) 
    94      
    95     f.write('#define PRODUCTVER     %d,%d,%d,%d\n'%(self.major, self.minor, self.revision, self.build)) 
    96     f.write('#define STRPRODUCTVER  "%d,%d,%d,%d"\n'%(self.major, self.minor, self.revision, self.build)) 
    97     f.write('#define STRPRODUCTDATE "%s"\n'%(self.date)) 
    98      
    99     f.write('#endif // %s\n'%name) 
    100     f.close() 
    101  
    102 def run(): 
    103   parser = OptionParser() 
    104   parser.add_option("-f", "--file", dest="filename", 
    105             help="File to update version in", metavar="FILE") 
    106   parser.add_option("-g", "--generate-hpp", dest="targetHPP", 
    107             help="Generate a HPP file") 
    108   parser.add_option("-c", "--create", action="store_true", dest="create", 
    109             help="Create a new file") 
    110   parser.add_option("-d", "--display", action="store_true", dest="display", 
    111             help="Display the current version") 
    112   parser.add_option("-u", "--update", 
    113             dest="update", default='build', 
    114             help="Update a file (major, minor, revision, build)") 
    115  
    116   (options, args) = parser.parse_args() 
    117   version = None 
    118   if options.filename and options.create: 
    119     version = Version(options.filename) 
    120     version.create() 
    121   elif options.filename and options.update: 
    122     version = Version(options.filename) 
    123     version.read() 
    124     version.increment(options.update) 
    125   else: 
    126     parser.print_help() 
    127  
    128   if options.targetHPP: 
    129     version.write_hpp(options.targetHPP) 
    130   if options.display: 
    131     version.print_version() 
     36if options.targetHPP: 
     37  version.write_hpp(options.targetHPP) 
     38if options.display: 
     39  version.print_version() 
    13240 
    13341     
    134 run() 
Note: See TracChangeset for help on using the changeset viewer.