This commit is contained in:
blueloveTH 2023-07-09 02:17:30 +08:00
parent d64d955fb8
commit e0f1ccd772
6 changed files with 15 additions and 17 deletions

View File

@ -14,9 +14,9 @@ jobs:
cd build cd build
cmake .. cmake ..
cmake --build . --config Release cmake --build . --config Release
cp Release/pocketpy.exe ../output/windows/x86_64 cp Release/main.exe ../output/windows/x86_64
cp Release/pocketpy.dll ../output/windows/x86_64 cp Release/pocketpy.dll ../output/windows/x86_64
cp Release/pocketpy.exe ../ cp Release/main.exe ../
- uses: actions/upload-artifact@v3 - uses: actions/upload-artifact@v3
with: with:
path: output path: output
@ -51,9 +51,9 @@ jobs:
cd build cd build
cmake .. cmake ..
cmake --build . --config Release cmake --build . --config Release
cp pocketpy ../output/linux/x86_64 cp main ../output/linux/x86_64
cp libpocketpy.so ../output/linux/x86_64 cp libpocketpy.so ../output/linux/x86_64
cp pocketpy ../ cp main ../
- uses: actions/upload-artifact@v3 - uses: actions/upload-artifact@v3
with: with:
path: output path: output

2
.gitignore vendored
View File

@ -22,7 +22,7 @@ include/pocketpy/_generated.h
profile.sh profile.sh
test test
src/httplib.h src/httplib.h
pocketpy.exe main.exe
main.obj main.obj
pocketpy.exp pocketpy.exp
pocketpy.lib pocketpy.lib

View File

@ -48,10 +48,10 @@ elseif(PK_BUILD_STATIC_LIB)
add_library(${PROJECT_NAME} STATIC ${POCKETPY_SRC} ${PK_LIB_CPP}) add_library(${PROJECT_NAME} STATIC ${POCKETPY_SRC} ${PK_LIB_CPP})
else() else()
add_library(${PROJECT_NAME} SHARED ${POCKETPY_SRC} ${PK_LIB_CPP}) add_library(${PROJECT_NAME} SHARED ${POCKETPY_SRC} ${PK_LIB_CPP})
add_executable(${PROJECT_NAME}_EXE src2/main.cpp) set(PROJECT_EXE_NAME main)
set_target_properties(${PROJECT_NAME}_EXE PROPERTIES OUTPUT_NAME ${PROJECT_NAME}) add_executable(${PROJECT_EXE_NAME} src2/main.cpp)
target_link_libraries(${PROJECT_NAME}_EXE ${PROJECT_NAME}) target_link_libraries(${PROJECT_EXE_NAME} ${PROJECT_NAME})
target_link_libraries(${PROJECT_NAME}_EXE ${CMAKE_DL_LIBS}) target_link_libraries(${PROJECT_EXE_NAME} ${CMAKE_DL_LIBS})
endif() endif()
target_link_libraries(${PROJECT_NAME} ${CMAKE_DL_LIBS}) target_link_libraries(${PROJECT_NAME} ${CMAKE_DL_LIBS})

View File

@ -1,7 +1,7 @@
python3 prebuild.py python3 prebuild.py
SRC=$(find src/ -name "*.cpp") SRC=$(find src/ -name "*.cpp")
clang++ -pg -O1 -std=c++17 -fno-rtti -stdlib=libc++ -Wfatal-errors -o pocketpy $SRC -Iinclude clang++ -pg -O1 -std=c++17 -fno-rtti -stdlib=libc++ -Wfatal-errors -o pocketpy $SRC -Iinclude
time ./pocketpy benchmarks/fib.py time ./main benchmarks/fib.py
mv benchmarks/gmon.out . mv benchmarks/gmon.out .
gprof pocketpy gmon.out > gprof.txt gprof pocketpy gmon.out > gprof.txt
rm gmon.out rm gmon.out

View File

@ -6,9 +6,9 @@ def test_file(filepath, cpython=False):
if cpython: if cpython:
return os.system("python3 " + filepath) == 0 return os.system("python3 " + filepath) == 0
if sys.platform == 'win32': if sys.platform == 'win32':
return os.system("pocketpy.exe " + filepath) == 0 return os.system("main.exe " + filepath) == 0
else: else:
return os.system("./pocketpy " + filepath) == 0 return os.system("./main " + filepath) == 0
def test_dir(path): def test_dir(path):
print("Testing directory:", path) print("Testing directory:", path)

View File

@ -7,16 +7,14 @@ std::string f_input(){
return pkpy::platform_getline(); return pkpy::platform_getline();
} }
#define ABS_PATH(x) std::filesystem::absolute(x).c_str()
int main(int argc, char** argv){ int main(int argc, char** argv){
#if _WIN32 #if _WIN32
SetConsoleOutputCP(CP_UTF8); SetConsoleOutputCP(CP_UTF8);
void* p = LoadLibraryA(ABS_PATH("pocketpy.dll")); void* p = LoadLibraryA("pocketpy.dll");
#elif __linux__ #elif __linux__
void* p = dlopen(ABS_PATH("libpocketpy.so"), RTLD_NOW | RTLD_GLOBAL); void* p = dlopen("libpocketpy.so", RTLD_NOW | RTLD_GLOBAL);
#elif __APPLE__ #elif __APPLE__
void* p = dlopen(ABS_PATH("libpocketpy.dylib"), RTLD_NOW | RTLD_GLOBAL); void* p = dlopen("libpocketpy.dylib", RTLD_NOW | RTLD_GLOBAL);
#endif #endif
if(p == nullptr){ if(p == nullptr){
std::cerr << "unable to load dynamic library" << std::endl; std::cerr << "unable to load dynamic library" << std::endl;