88
99
1010class CMakeExtension (Extension ):
11- def __init__ (self , name : str , sourcedir : str = "" ) -> None :
11+ def __init__ (self , name : str , sourcedir : Path ) -> None :
1212 super ().__init__ (name , sources = [])
13- self .sourcedir = os . fspath ( Path ( sourcedir ) .resolve () )
13+ self .sourcedir = sourcedir .resolve ()
1414
1515
1616class CMakeBuild (build_ext ):
@@ -35,27 +35,27 @@ def build_extension(self, ext: CMakeExtension) -> None:
3535 ], check = True )
3636
3737 conan_args = [
38- f"--output-folder={ build_temp } " ,
38+ f"--output-folder={ str ( build_temp ) } " ,
3939 "--build=missing" ,
4040 "-s" ,
4141 "build_type=Release" ,
4242 ]
4343
44- subprocess .run (["conan" , "install" , ext .sourcedir , * conan_args ], check = True )
44+ subprocess .run (["conan" , "install" , str ( ext .sourcedir ) , * conan_args ], check = True )
4545
4646 cmake_args = [
4747 f"-DCMAKE_TOOLCHAIN_FILE=conan_toolchain.cmake" ,
48- f"-DCMAKE_LIBRARY_OUTPUT_DIRECTORY={ extdir } { os .sep } " ,
48+ f"-DCMAKE_LIBRARY_OUTPUT_DIRECTORY={ str ( extdir ) } { os .sep } " ,
4949 f"-DPYTHON_EXECUTABLE={ sys .executable } " ,
5050 f"-DCMAKE_BUILD_TYPE=Release" ,
5151 ]
5252
5353 build_args = []
5454
5555 subprocess .run (
56- ["cmake" , "-S" , ext .sourcedir , "-B" , build_temp , * cmake_args ], check = True
56+ ["cmake" , "-S" , str ( ext .sourcedir ) , "-B" , str ( build_temp ) , * cmake_args ], check = True
5757 )
58- subprocess .run (["cmake" , "--build" , build_temp , * build_args ], check = True )
58+ subprocess .run (["cmake" , "--build" , str ( build_temp ) , * build_args ], check = True )
5959
6060
6161setup (
@@ -65,7 +65,7 @@ def build_extension(self, ext: CMakeExtension) -> None:
6565 author_email = "stefl.andreas@gmail.com" ,
6666 description = "It's Android's first OpenOffice Document Reader for Python!" ,
6767 long_description = "" ,
68- ext_modules = [CMakeExtension ("pyodr" , "src/cpp" )],
68+ ext_modules = [CMakeExtension ("pyodr" , Path ( "src/cpp" ) )],
6969 cmdclass = {"build_ext" : CMakeBuild },
7070 zip_safe = False ,
7171 install_requires = [],
0 commit comments