#!/usr/bin/env python import os import sys class Structure: def __init__(self, **kwds): self.__dict__.update(kwds) TYPE_EXE=0 TYPE_DLL=1 def generate_pro(filename,project): if os.path.isfile(filename): os.remove(filename) f=open(filename,'w') f.write(''' # WARNING : automatically generated by utils/generate.py QT -= core gui TARGET = ''' + project.name + ''' ''') if project.type == TYPE_EXE: f.write(''' CONFIG += console CONFIG -= app_bundle TEMPLATE = app ''') if project.type == TYPE_DLL: f.write(''' CONFIG += dll TEMPLATE = lib ''') f.write(''' DESTDIR = ../../../../bin unix: LIBS += -ldl DEFINES+=USE_LIB7Z_DLL ''') f.write('INCLUDEPATH = \\\n') for file in project.includedirs: f.write(" {} \\\n".format(file)) f.write('\n') for d in project.defines: f.write("DEFINES += " + d + '\n') f.write('\n') f.write('SOURCES += \\\n') for file in project.files_c: f.write(" ../../../../{} \\\n".format(file)) for file in project.files_cpp: f.write(" ../../../../{} \\\n".format(file)) f.write(''' macx: LIBS += -framework CoreFoundation ''') f.write('\n') f.close() premake4_headers=''' -- WARNING : automatically generated by utils/generate.py solution "p7zip" configurations { "Debug", "Release" } -- includes for all projects includedirs { ''' def generate_premake4(filename,project): if os.path.isfile(filename): os.remove(filename) f=open(filename,'w') f.write(premake4_headers) for file in project.includedirs: f.write(' "{}",\n'.format(file)) f.write(' }\n\n') defines="" for d in project.defines: defines+= ', "' + d + '"' f.write(' configuration "Debug"\n') f.write(' defines { "DEBUG"' + defines + ' }\n') f.write(' flags { "Symbols" }\n') f.write('\n') f.write(' configuration "Release"\n') f.write(' defines { "NDEBUG"' + defines + ' }\n') f.write(' flags { "Optimize" } \n') f.write('\n') f.write(' project "all_c_code"\n') f.write(' kind "StaticLib"\n') f.write(' language "C"\n') f.write(' files {\n') for file in project.files_c: f.write(' "../../../../{}",\n'.format(file)) f.write(''' } --------------------------------- project "''' + project.name + '''" kind "ConsoleApp" language "C++" files { ''') for file in project.files_cpp: f.write(' "../../../../{}",\n'.format(file)) f.write(''' } configuration "linux" links { "all_c_code", "pthread" } ''') f.close() def generate_cmake(filename,project): if os.path.isfile(filename): os.remove(filename) f=open(filename,'w') f.write(''' # WARNING : automatically generated by utils/generate.py cmake_minimum_required(VERSION 2.8) ''') f.write('include_directories(\n') for file in project.includedirs: f.write(' "{}"\n'.format(file)) f.write(')\n\n') defines="" for d in project.defines: defines+= ' -D' + d f.write('add_definitions(' + defines + ')\n') f.write(''' IF(APPLE) add_definitions(-DENV_MACOSX) FIND_LIBRARY(COREFOUNDATION_LIBRARY CoreFoundation ) ENDIF(APPLE) ''') if project.type == TYPE_EXE: f.write('add_executable(' + project.name2 + '\n\n') if project.type == TYPE_DLL: f.write('add_library(' + project.name2 + ' MODULE\n\n') for file in project.files_c: f.write(' "../../../../{}"\n'.format(file)) for file in project.files_cpp: f.write(' "../../../../{}"\n'.format(file)) f.write(')\n') f.write(project.cmake_end) f.close() def to_obj(file): file2=os.path.basename(file) return os.path.splitext(file2)[0] + '.o' def generate_makefile_list(filename,project,bin_dir='../../../../bin'): if os.path.isfile(filename): os.remove(filename) f=open(filename,'w') f.write(''' # WARNING : automatically generated by utils/generate.py ''') if project.type == TYPE_EXE: f.write('PROG={}/{}$(BINSUFFIX)\n\n'.format(bin_dir,project.name)) if project.type == TYPE_DLL: f.write('PROG={}/{}.so\n\n'.format(bin_dir,project.name)) f.write('all: $(PCH_NAME) $(PROG)\n\n') f.write('LOCAL_FLAGS=$(TARGET_FLAGS) \\\n') for d in project.defines: f.write(' -D{} \\\n'.format(d)) f.write('\n') f.write('SRCS=\\\n') for file in project.files_cpp: f.write(' ../../../../{} \\\n'.format(file)) f.write('\n') f.write('SRCS_C=\\\n') for file in project.files_c: f.write(' ../../../../{} \\\n'.format(file)) f.write(''' StdAfx.h.gch : ../../../myWindows/StdAfx.h \trm -f StdAfx.h.gch \t$(CXX) $(CXXFLAGS) ../../../myWindows/StdAfx.h -o StdAfx.h.gch ''') for file in project.files_c: file='../../../../' + file f.write('{} : {}\n'.format(to_obj(file),file)) f.write('\t$(CC) $(CFLAGS) {}\n'.format(file)) for file in project.files_cpp: file='../../../../' + file f.write('{} : {}\n'.format(to_obj(file),file)) f.write('\t$(CXX) $(CXXFLAGS) {}\n'.format(file)) f.write('\nOBJS=\\\n') for file in project.files_c: file=to_obj(file) if file == '7zCrcOpt.o': f.write(' $(OBJ_CRC32) \\\n') else: f.write(' {} \\\n'.format(file)) for file in project.files_cpp: f.write(' {} \\\n'.format(to_obj(file))) if project.need_AES: f.write(' $(OBJ_AES) \\\n') f.write('\n') f.close() def generate_android_mk(filename,project): if os.path.isfile(filename): os.remove(filename) f=open(filename,'w') f.write('''# # build {} for armeabi and armeabi-v7a CPU # # WARNING : file generated by generate.py # LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := {} '''.format(project.name,project.name)) f.write(project.android_header) f.write('LOCAL_SRC_FILES := \\\n') for file in project.files_cpp: f.write(' ../../../../{} \\\n'.format(file)) for file in project.files_c: f.write(' ../../../../{} \\\n'.format(file)) f.write('\n') if project.type == TYPE_EXE: f.write('# Needed since ANDROID 5, these programs run on android-16 (Android 4.1+)\n') f.write('LOCAL_CFLAGS += -fPIE\n') f.write('LOCAL_LDFLAGS += -fPIE -pie\n') f.write('\n') f.write('include $(BUILD_EXECUTABLE)\n\n') if project.type == TYPE_DLL: # nothing to do here f.write('include $(BUILD_SHARED_LIBRARY)\n\n') f.close() includedirs_7za=[ "../../../myWindows", "../../../", "../../../include_windows" ] includedirs_lzham=[ # FIXME "../../../../CPP/7zip/Compress/Lzham/include", "../../../../CPP/7zip/Compress/Lzham/lzhamcomp", "../../../../CPP/7zip/Compress/Lzham/lzhamdecomp", "../../../myWindows", "../../../", "../../../../", "../../../include_windows" ] import file_7za import file_7zCon_sfx import file_7z import file_7zr import file_7zG import file_7zFM import file_7z_so import file_Codecs_Rar_so import file_Codecs_Lzham_so import file_LzmaCon import file_Client7z import file_P7ZIP import file_TestUI project_7za=Structure(name="7za",name2="7za", type=TYPE_EXE, need_AES=True, includedirs=includedirs_7za, defines=[ "_FILE_OFFSET_BITS=64", "_LARGEFILE_SOURCE", "_REENTRANT", "ENV_UNIX", "BREAK_HANDLER", "UNICODE", "_UNICODE", "UNIX_USE_WIN_FILE" ], files_c=file_7za.files_c, files_cpp=file_7za.files_cpp, cmake_end=''' IF(APPLE) TARGET_LINK_LIBRARIES(7za ${COREFOUNDATION_LIBRARY} ${CMAKE_THREAD_LIBS_INIT}) ELSE(APPLE) IF(HAVE_PTHREADS) TARGET_LINK_LIBRARIES(7za ${CMAKE_THREAD_LIBS_INIT} dl) ENDIF(HAVE_PTHREADS) ENDIF(APPLE) ''', android_header=r''' LOCAL_CFLAGS := -DANDROID_NDK -fexceptions \ -DNDEBUG -D_REENTRANT -DENV_UNIX \ -DBREAK_HANDLER \ -DUNICODE -D_UNICODE -DUNIX_USE_WIN_FILE \ -I../../../7zip/Archive \ -I../../../7zip/Archive/7z \ -I../../../7zip/Archive/BZip2 \ -I../../../7zip/Archive/Common \ -I../../../7zip/Archive/GZip \ -I../../../7zip/Archive/Cab \ -I../../../7zip/Archive/Lzma \ -I../../../7zip/Archive/Tar \ -I../../../7zip/Archive/Zip \ -I../../../7zip/Archive/Split \ -I../../../7zip/Archive/Z \ -I../../../7zip/Compress \ -I../../../7zip/Crypto \ -I../../../7zip/UI/Console \ -I../../../7zip/UI/Common \ -I../../../Windows \ -I../../../Common \ -I../../../7zip/Common \ -I../../../../C \ -I../../../myWindows \ -I../../../ \ -I../../../include_windows ''') project_7zr=Structure(name="7zr",name2="7zr", type=TYPE_EXE, need_AES=True, includedirs=includedirs_7za, defines=[ "_FILE_OFFSET_BITS=64", "_LARGEFILE_SOURCE", "_REENTRANT", "ENV_UNIX", "_NO_CRYPTO", "BREAK_HANDLER", "UNICODE", "_UNICODE", "UNIX_USE_WIN_FILE" ], files_c=file_7zr.files_c, files_cpp=file_7zr.files_cpp, cmake_end=''' IF(APPLE) TARGET_LINK_LIBRARIES(7zr ${COREFOUNDATION_LIBRARY} ${CMAKE_THREAD_LIBS_INIT}) ELSE(APPLE) IF(HAVE_PTHREADS) TARGET_LINK_LIBRARIES(7zr ${CMAKE_THREAD_LIBS_INIT} dl) ENDIF(HAVE_PTHREADS) ENDIF(APPLE) ''', android_header=r''' LOCAL_CFLAGS := -DANDROID_NDK -fexceptions \ -DNDEBUG -D_REENTRANT -DENV_UNIX \ -DBREAK_HANDLER -D_NO_CRYPTO \ -DUNICODE -D_UNICODE -DUNIX_USE_WIN_FILE \ -I../../../7zip/Archive \ -I../../../7zip/Archive/7z \ -I../../../7zip/Archive/BZip2 \ -I../../../7zip/Archive/Common \ -I../../../7zip/Archive/GZip \ -I../../../7zip/Archive/Cab \ -I../../../7zip/Archive/Lzma \ -I../../../7zip/Archive/Tar \ -I../../../7zip/Archive/Zip \ -I../../../7zip/Archive/Split \ -I../../../7zip/Archive/Z \ -I../../../7zip/Compress \ -I../../../7zip/Crypto \ -I../../../7zip/UI/Console \ -I../../../7zip/UI/Common \ -I../../../Windows \ -I../../../Common \ -I../../../7zip/Common \ -I../../../../C \ -I../../../myWindows \ -I../../../ \ -I../../../include_windows ''') project_7zCon_sfx=Structure(name="7zCon.sfx",name2="7zCon.sfx", type=TYPE_EXE, need_AES=True, includedirs=includedirs_7za, defines=[ "_FILE_OFFSET_BITS=64", "_LARGEFILE_SOURCE", "_REENTRANT", "ENV_UNIX", "BREAK_HANDLER", "UNICODE", "_UNICODE", "UNIX_USE_WIN_FILE", "EXTRACT_ONLY", "NO_READ_FROM_CODER", "_SFX" ], files_c=file_7zCon_sfx.files_c, files_cpp=file_7zCon_sfx.files_cpp, cmake_end=''' IF(APPLE) TARGET_LINK_LIBRARIES(7zCon.sfx ${COREFOUNDATION_LIBRARY} ${CMAKE_THREAD_LIBS_INIT}) ELSE(APPLE) IF(HAVE_PTHREADS) TARGET_LINK_LIBRARIES(7zCon.sfx ${CMAKE_THREAD_LIBS_INIT}) ENDIF(HAVE_PTHREADS) ENDIF(APPLE) ''') project_7z=Structure(name="7z",name2="7z_", type=TYPE_EXE, need_AES=False, includedirs=includedirs_7za, defines=[ "EXTERNAL_CODECS", "_FILE_OFFSET_BITS=64", "_LARGEFILE_SOURCE", "_REENTRANT", "ENV_UNIX", "BREAK_HANDLER", "UNICODE", "_UNICODE", "UNIX_USE_WIN_FILE" ], files_c=file_7z.files_c, files_cpp=file_7z.files_cpp, cmake_end=''' find_library(DL_LIB dl) link_directories(${DL_LIB_PATH}) IF(APPLE) TARGET_LINK_LIBRARIES(7z_ ${COREFOUNDATION_LIBRARY} ${CMAKE_THREAD_LIBS_INIT}) ELSE(APPLE) IF(HAVE_PTHREADS) TARGET_LINK_LIBRARIES(7z_ ${CMAKE_THREAD_LIBS_INIT} dl) ENDIF(HAVE_PTHREADS) ENDIF(APPLE) ''', android_header=r''' LOCAL_CFLAGS := -DANDROID_NDK -fexceptions \ -DNDEBUG -D_REENTRANT -DENV_UNIX \ -DEXTERNAL_CODECS \ -DBREAK_HANDLER \ -DUNICODE -D_UNICODE -DUNIX_USE_WIN_FILE \ -I../../../Windows \ -I../../../Common \ -I../../../../C \ -I../../../myWindows \ -I../../../ \ -I../../../include_windows ''') project_Codecs_Rar=Structure(name="Rar",name2="Rar", type=TYPE_DLL, need_AES=False, includedirs=includedirs_7za, defines=[ "EXTERNAL_CODECS", "_FILE_OFFSET_BITS=64", "_LARGEFILE_SOURCE", "_REENTRANT", "ENV_UNIX", "BREAK_HANDLER", "UNICODE", "_UNICODE", "UNIX_USE_WIN_FILE" ], files_c=file_Codecs_Rar_so.files_c, files_cpp=file_Codecs_Rar_so.files_cpp, cmake_end=''' find_library(DL_LIB dl) link_directories(${DL_LIB_PATH}) IF(APPLE) TARGET_LINK_LIBRARIES(Rar ${COREFOUNDATION_LIBRARY} ${CMAKE_THREAD_LIBS_INIT}) ELSE(APPLE) IF(HAVE_PTHREADS) TARGET_LINK_LIBRARIES(Rar ${CMAKE_THREAD_LIBS_INIT} dl) ENDIF(HAVE_PTHREADS) ENDIF(APPLE) ''', android_header=r''' LOCAL_CFLAGS := -DANDROID_NDK -fexceptions \ -DNDEBUG -D_REENTRANT -DENV_UNIX \ -DEXTERNAL_CODECS \ -DBREAK_HANDLER \ -DUNICODE -D_UNICODE -DUNIX_USE_WIN_FILE \ -I../../../Windows \ -I../../../Common \ -I../../../../C \ -I../../../myWindows \ -I../../../ \ -I../../../include_windows ''') project_Codecs_Lzham=Structure(name="Lzham",name2="Lzham", type=TYPE_DLL, need_AES=False, includedirs=includedirs_lzham, defines=[ "EXTERNAL_CODECS", "_FILE_OFFSET_BITS=64", "_LARGEFILE_SOURCE", "_REENTRANT", "ENV_UNIX", "BREAK_HANDLER", "UNICODE", "_UNICODE", "UNIX_USE_WIN_FILE" ], files_c=file_Codecs_Lzham_so.files_c, files_cpp=file_Codecs_Lzham_so.files_cpp, cmake_end=''' find_library(DL_LIB dl) link_directories(${DL_LIB_PATH}) IF(APPLE) TARGET_LINK_LIBRARIES(Lzham ${COREFOUNDATION_LIBRARY} ${CMAKE_THREAD_LIBS_INIT}) ELSE(APPLE) IF(HAVE_PTHREADS) TARGET_LINK_LIBRARIES(Lzham ${CMAKE_THREAD_LIBS_INIT} dl) ENDIF(HAVE_PTHREADS) ENDIF(APPLE) ''', android_header=r''' LOCAL_CFLAGS := -DANDROID_NDK -fexceptions \ -DNDEBUG -D_REENTRANT -DENV_UNIX \ -DEXTERNAL_CODECS \ -DBREAK_HANDLER \ -DUNICODE -D_UNICODE -DUNIX_USE_WIN_FILE \ -I../../../Windows \ -I../../../Common \ -I../../../../C \ -I../../../myWindows \ -I../../../ \ -I../../../include_windows \ -I../../../../CPP/7zip/Compress/Lzham/include \ -I../../../../CPP/7zip/Compress/Lzham/lzhamcomp \ -I../../../../CPP/7zip/Compress/Lzham/lzhamdecomp ''') project_7zG=Structure(name="7zG",name2="7zG", type=TYPE_EXE, need_AES=False, includedirs=includedirs_7za, defines=[ "LANG", "EXTERNAL_CODECS", "_FILE_OFFSET_BITS=64", "_LARGEFILE_SOURCE", "_REENTRANT", "ENV_UNIX", "UNICODE", "_UNICODE", "UNIX_USE_WIN_FILE" ], files_c=file_7zG.files_c, files_cpp=file_7zG.files_cpp, cmake_end=''' IF(APPLE) add_definitions(-DENV_MACOSX -D__WXMAC__) ENDIF(APPLE) find_package(wxWidgets COMPONENTS core base adv REQUIRED) find_library(DL_LIB dl) include( ${wxWidgets_USE_FILE} ) link_directories(${DL_LIB_PATH}) IF(APPLE) TARGET_LINK_LIBRARIES(7zG ${COREFOUNDATION_LIBRARY} ${wxWidgets_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT}) ELSE(APPLE) IF(HAVE_PTHREADS) TARGET_LINK_LIBRARIES(7zG ${wxWidgets_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} dl) ENDIF(HAVE_PTHREADS) ENDIF(APPLE) ''') project_7zFM=Structure(name="7zFM_do_not_use",name2="7zFM_do_not_use", type=TYPE_EXE, need_AES=False, includedirs=includedirs_7za, defines=[ "LANG", "NEW_FOLDER_INTERFACE", "EXTERNAL_CODECS", "_FILE_OFFSET_BITS=64", "_LARGEFILE_SOURCE", "_REENTRANT", "ENV_UNIX", "BREAK_HANDLER", "UNICODE", "_UNICODE", "UNIX_USE_WIN_FILE" ], files_c=file_7zFM.files_c, files_cpp=file_7zFM.files_cpp, cmake_end=''' IF(APPLE) add_definitions(-DENV_MACOSX -D__WXMAC__) ENDIF(APPLE) find_package(wxWidgets COMPONENTS core base adv REQUIRED) find_library(DL_LIB dl) include( ${wxWidgets_USE_FILE} ) link_directories(${DL_LIB_PATH}) IF(APPLE) TARGET_LINK_LIBRARIES(7zFM_do_not_use ${COREFOUNDATION_LIBRARY} ${wxWidgets_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT}) ELSE(APPLE) IF(HAVE_PTHREADS) TARGET_LINK_LIBRARIES(7zFM_do_not_use ${wxWidgets_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} dl) ENDIF(HAVE_PTHREADS) ENDIF(APPLE) ''') project_Format7zFree=Structure(name="7z",name2="7z", type=TYPE_DLL, need_AES=True, includedirs=includedirs_7za, defines=[ "EXTERNAL_CODECS", "_FILE_OFFSET_BITS=64", "_LARGEFILE_SOURCE", "_REENTRANT", "ENV_UNIX", "BREAK_HANDLER", "UNICODE", "_UNICODE", "UNIX_USE_WIN_FILE" ], files_c=file_7z_so.files_c, files_cpp=file_7z_so.files_cpp, cmake_end=''' SET_TARGET_PROPERTIES(7z PROPERTIES PREFIX "") IF(APPLE) TARGET_LINK_LIBRARIES(7z ${COREFOUNDATION_LIBRARY} ${CMAKE_THREAD_LIBS_INIT}) ELSE(APPLE) IF(HAVE_PTHREADS) TARGET_LINK_LIBRARIES(7z ${CMAKE_THREAD_LIBS_INIT}) ENDIF(HAVE_PTHREADS) ENDIF(APPLE) ''', android_header=r''' LOCAL_CFLAGS := -DANDROID_NDK -fexceptions \ -DNDEBUG -D_REENTRANT -DENV_UNIX \ -DEXTERNAL_CODECS \ -DUNICODE -D_UNICODE -DUNIX_USE_WIN_FILE \ -I../../../Windows \ -I../../../Common \ -I../../../../C \ -I../../../myWindows \ -I../../../ \ -I../../../include_windows ''') project_LzmaCon=Structure(name="LzmaCon",name2="LzmaCon", type=TYPE_EXE, need_AES=True, includedirs=includedirs_7za, defines=[ "_FILE_OFFSET_BITS=64", "_LARGEFILE_SOURCE", "_REENTRANT", "ENV_UNIX" ], files_c=file_LzmaCon.files_c, files_cpp=file_LzmaCon.files_cpp, cmake_end=''' IF(APPLE) TARGET_LINK_LIBRARIES(LzmaCon ${COREFOUNDATION_LIBRARY} ${CMAKE_THREAD_LIBS_INIT}) ELSE(APPLE) IF(HAVE_PTHREADS) TARGET_LINK_LIBRARIES(LzmaCon ${CMAKE_THREAD_LIBS_INIT}) ENDIF(HAVE_PTHREADS) ENDIF(APPLE) ''', android_header=r''' LOCAL_CFLAGS := -DANDROID_NDK -fexceptions \ -DNDEBUG -D_REENTRANT -DENV_UNIX \ -I../../../7zip/Archive \ -I../../../7zip/Archive/7z \ -I../../../7zip/Archive/BZip2 \ -I../../../7zip/Archive/Common \ -I../../../7zip/Archive/GZip \ -I../../../7zip/Archive/Cab \ -I../../../7zip/Archive/Lzma \ -I../../../7zip/Archive/Tar \ -I../../../7zip/Archive/Zip \ -I../../../7zip/Archive/Split \ -I../../../7zip/Archive/Z \ -I../../../7zip/Compress \ -I../../../7zip/Crypto \ -I../../../7zip/UI/Console \ -I../../../7zip/UI/Common \ -I../../../Windows \ -I../../../Common \ -I../../../7zip/Common \ -I../../../../C \ -I../../../myWindows \ -I../../../ \ -I../../../include_windows ''') project_Client7z=Structure(name="Client7z",name2="Client7z", type=TYPE_EXE, need_AES=False, includedirs=includedirs_7za, defines=[ "_FILE_OFFSET_BITS=64", "_LARGEFILE_SOURCE", "_REENTRANT", "ENV_UNIX", "UNICODE", "_UNICODE", "UNIX_USE_WIN_FILE" ], files_c=file_Client7z.files_c, files_cpp=file_Client7z.files_cpp, cmake_end=''' find_library(DL_LIB dl) link_directories(${DL_LIB_PATH}) IF(APPLE) TARGET_LINK_LIBRARIES(Client7z ${COREFOUNDATION_LIBRARY} ${CMAKE_THREAD_LIBS_INIT}) ELSE(APPLE) IF(HAVE_PTHREADS) TARGET_LINK_LIBRARIES(Client7z ${CMAKE_THREAD_LIBS_INIT} dl) ENDIF(HAVE_PTHREADS) ENDIF(APPLE) ''', android_header=r''' LOCAL_CFLAGS := -DANDROID_NDK -fexceptions \ -DNDEBUG -D_REENTRANT -DENV_UNIX \ -DEXTERNAL_CODECS \ -DBREAK_HANDLER \ -DUNICODE -D_UNICODE -DUNIX_USE_WIN_FILE \ -I../../../Windows \ -I../../../Common \ -I../../../../C \ -I../../../myWindows \ -I../../../ \ -I../../../include_windows ''') project_P7ZIP=Structure(name="P7ZIP",name2="P7ZIP", type=TYPE_EXE, need_AES=False, includedirs=includedirs_7za, defines=[ "LANG", "EXTERNAL_CODECS", "_FILE_OFFSET_BITS=64", "_LARGEFILE_SOURCE", "_REENTRANT", "ENV_UNIX", "BREAK_HANDLER", "UNICODE", "_UNICODE", "UNIX_USE_WIN_FILE" ], files_c=file_P7ZIP.files_c, files_cpp=file_P7ZIP.files_cpp, cmake_end=''' IF(APPLE) add_definitions(-DENV_MACOSX -D__WXMAC__) ENDIF(APPLE) find_package(wxWidgets COMPONENTS core base adv REQUIRED) find_library(DL_LIB dl) include( ${wxWidgets_USE_FILE} ) link_directories(${DL_LIB_PATH}) IF(APPLE) TARGET_LINK_LIBRARIES(P7ZIP ${COREFOUNDATION_LIBRARY} ${wxWidgets_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT}) ELSE(APPLE) IF(HAVE_PTHREADS) TARGET_LINK_LIBRARIES(P7ZIP ${wxWidgets_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} dl) ENDIF(HAVE_PTHREADS) ENDIF(APPLE) ''') project_TestUI=Structure(name="TestUI",name2="TestUI", type=TYPE_EXE, need_AES=False, includedirs=includedirs_7za, defines=[ "LANG", "EXTERNAL_CODECS", "_FILE_OFFSET_BITS=64", "_LARGEFILE_SOURCE", "_REENTRANT", "ENV_UNIX", "BREAK_HANDLER", "UNICODE", "_UNICODE", "UNIX_USE_WIN_FILE" ], files_c=file_TestUI.files_c, files_cpp=file_TestUI.files_cpp, cmake_end=''' IF(APPLE) add_definitions(-DENV_MACOSX -D__WXMAC__) ENDIF(APPLE) find_package(wxWidgets COMPONENTS core base adv REQUIRED) find_library(DL_LIB dl) include( ${wxWidgets_USE_FILE} ) link_directories(${DL_LIB_PATH}) IF(APPLE) TARGET_LINK_LIBRARIES(TestUI ${COREFOUNDATION_LIBRARY} ${wxWidgets_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT}) ELSE(APPLE) IF(HAVE_PTHREADS) TARGET_LINK_LIBRARIES(TestUI ${wxWidgets_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} dl) ENDIF(HAVE_PTHREADS) ENDIF(APPLE) ''') generate_makefile_list('../CPP/7zip/Bundles/Alone/makefile.list',project_7za) generate_makefile_list('../CPP/7zip/Bundles/Alone7z/makefile.list',project_7zr) generate_makefile_list('../CPP/7zip/UI/Console/makefile.list',project_7z) generate_makefile_list('../CPP/7zip/Bundles/Format7zFree/makefile.list',project_Format7zFree) generate_makefile_list('../CPP/7zip/Compress/Rar/makefile.list',project_Codecs_Rar,'../../../../bin/Codecs') generate_makefile_list('../CPP/7zip/Compress/Lzham/makefile.list',project_Codecs_Lzham,'../../../../bin/Codecs') generate_makefile_list('../CPP/7zip/Bundles/SFXCon/makefile.list',project_7zCon_sfx) generate_makefile_list('../CPP/7zip/UI/GUI/makefile.list',project_7zG) generate_makefile_list('../CPP/7zip/UI/FileManager/makefile.list',project_7zFM) generate_makefile_list('../CPP/7zip/Bundles/LzmaCon/makefile.list',project_LzmaCon) generate_makefile_list('../CPP/7zip/UI/Client7z/makefile.list',project_Client7z) generate_makefile_list('../CPP/7zip/UI/P7ZIP/makefile.list',project_P7ZIP) generate_makefile_list('../CPP/7zip/TEST/TestUI/makefile.list',project_TestUI) generate_pro('../CPP/7zip/QMAKE/7za/7za.pro',project_7za) generate_pro('../CPP/7zip/QMAKE/7zr/7zr.pro',project_7zr) generate_pro('../CPP/7zip/QMAKE/7z_/7z_.pro',project_7z) generate_pro('../CPP/7zip/QMAKE/Format7zFree/Format7zFree.pro',project_Format7zFree) generate_pro('../CPP/7zip/QMAKE/Rar/Rar.pro',project_Codecs_Rar) generate_pro('../CPP/7zip/QMAKE/Lzham/Lzham.pro',project_Codecs_Lzham) generate_premake4('../CPP/7zip/PREMAKE/premake4.lua',project_7za) generate_cmake('../CPP/7zip/CMAKE/7za/CMakeLists.txt',project_7za) generate_cmake('../CPP/7zip/CMAKE/7z_/CMakeLists.txt',project_7z) generate_cmake('../CPP/7zip/CMAKE/7zG/CMakeLists.txt',project_7zG) generate_cmake('../CPP/7zip/CMAKE/7zFM/CMakeLists.txt',project_7zFM) generate_cmake('../CPP/7zip/CMAKE/7zr/CMakeLists.txt',project_7zr) generate_cmake('../CPP/7zip/CMAKE/Format7zFree/CMakeLists.txt',project_Format7zFree) generate_android_mk('../CPP/ANDROID/7za/jni/Android.mk',project_7za) generate_android_mk('../CPP/ANDROID/7zr/jni/Android.mk',project_7zr) generate_android_mk('../CPP/ANDROID/7z/jni/Android.mk',project_7z) generate_android_mk('../CPP/ANDROID/Format7zFree/jni/Android.mk',project_Format7zFree) generate_android_mk('../CPP/ANDROID/Lzham/jni/Android.mk',project_Codecs_Lzham) #FIXME:7zr-CPP/7zip/Bundles/Alone7z